gpuwm 2.5.7__tar.gz → 2.6.0__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 (2448) hide show
  1. gpuwm-2.6.0/PKG-INFO +698 -0
  2. gpuwm-2.6.0/configs/demos/mp28_wif_climatology.toml +80 -0
  3. gpuwm-2.6.0/docs/mpas-seam.md +306 -0
  4. gpuwm-2.6.0/gpuwm/aerosol_source_receipt.py +238 -0
  5. gpuwm-2.6.0/gpuwm/bridge_assets.py +1658 -0
  6. gpuwm-2.6.0/gpuwm/bridges.py +1337 -0
  7. gpuwm-2.6.0/gpuwm/config.py +3281 -0
  8. gpuwm-2.6.0/gpuwm/core/kernel_frame_recordings.py +522 -0
  9. gpuwm-2.6.0/gpuwm/core/kernels/mynn_dmp_sibling.cu +3505 -0
  10. gpuwm-2.6.0/gpuwm/core/kernels/mynn_scalar_mix.cu +306 -0
  11. gpuwm-2.6.0/gpuwm/core/kernels/nest_microphysics.cu +541 -0
  12. gpuwm-2.6.0/gpuwm/core/kernels/p3.cu +2007 -0
  13. gpuwm-2.6.0/gpuwm/core/kernels/rrtmgp_gas.cu +411 -0
  14. gpuwm-2.6.0/gpuwm/core/kernels/ruc.cu +4515 -0
  15. gpuwm-2.6.0/gpuwm/core/microphysics_transition.py +1019 -0
  16. gpuwm-2.6.0/gpuwm/core/model.py +1408 -0
  17. gpuwm-2.6.0/gpuwm/core/moist.py +1051 -0
  18. gpuwm-2.6.0/gpuwm/core/mynn_pbl.py +3949 -0
  19. gpuwm-2.6.0/gpuwm/core/mynn_pbl_gpu.py +1866 -0
  20. gpuwm-2.6.0/gpuwm/core/mynn_pbl_runtime.py +388 -0
  21. gpuwm-2.6.0/gpuwm/core/mynn_scalar_mix.py +180 -0
  22. gpuwm-2.6.0/gpuwm/core/mynn_scalar_mix_gpu.py +135 -0
  23. gpuwm-2.6.0/gpuwm/core/p3.py +1989 -0
  24. gpuwm-2.6.0/gpuwm/core/p3_device.py +366 -0
  25. gpuwm-2.6.0/gpuwm/core/physics.py +5298 -0
  26. gpuwm-2.6.0/gpuwm/core/preflight.py +8197 -0
  27. gpuwm-2.6.0/gpuwm/core/rrtm_lw.py +1100 -0
  28. gpuwm-2.6.0/gpuwm/core/rrtmg_legacy.py +1320 -0
  29. gpuwm-2.6.0/gpuwm/core/rrtmgp.py +3870 -0
  30. gpuwm-2.6.0/gpuwm/core/ruc.py +9538 -0
  31. gpuwm-2.6.0/gpuwm/core/ruc_contract.py +391 -0
  32. gpuwm-2.6.0/gpuwm/core/ruc_gpu.py +2546 -0
  33. gpuwm-2.6.0/gpuwm/core/ruc_runtime.py +1028 -0
  34. gpuwm-2.6.0/gpuwm/core/ruc_tier.py +76 -0
  35. gpuwm-2.6.0/gpuwm/data/bridges/bridge-pins.json +721 -0
  36. gpuwm-2.6.0/gpuwm/doctor.py +5589 -0
  37. gpuwm-2.6.0/gpuwm/domain_wizard.py +5449 -0
  38. gpuwm-2.6.0/gpuwm/downscale.py +901 -0
  39. gpuwm-2.6.0/gpuwm/era5_direct.py +1113 -0
  40. gpuwm-2.6.0/gpuwm/gfs_direct.py +2116 -0
  41. gpuwm-2.6.0/gpuwm/hrrr_hierarchy_direct.py +1412 -0
  42. gpuwm-2.6.0/gpuwm/hrrr_route_inputs.py +968 -0
  43. gpuwm-2.6.0/gpuwm/ingest/cpu_backend.py +651 -0
  44. gpuwm-2.6.0/gpuwm/ingest/hrrr_physics.py +327 -0
  45. gpuwm-2.6.0/gpuwm/ingest/nest_init.py +1842 -0
  46. gpuwm-2.6.0/gpuwm/ingest/prepared_cache.py +1694 -0
  47. gpuwm-2.6.0/gpuwm/ingest/real.py +3413 -0
  48. gpuwm-2.6.0/gpuwm/ingest/ruc_soil.py +953 -0
  49. gpuwm-2.6.0/gpuwm/ingest/soil_contract.py +1492 -0
  50. gpuwm-2.6.0/gpuwm/ingest/wif_climatology.py +901 -0
  51. gpuwm-2.6.0/gpuwm/ingest/wif_dataset.py +302 -0
  52. gpuwm-2.6.0/gpuwm/io/restart.py +5196 -0
  53. gpuwm-2.6.0/gpuwm/mapped_direct.py +1641 -0
  54. gpuwm-2.6.0/gpuwm/mapped_source.py +6035 -0
  55. gpuwm-2.6.0/gpuwm/mpas_mesh.py +1642 -0
  56. gpuwm-2.6.0/gpuwm/namelist_compat.py +1338 -0
  57. gpuwm-2.6.0/gpuwm/namelist_import.py +3070 -0
  58. gpuwm-2.6.0/gpuwm/netcdf_bridge.py +554 -0
  59. gpuwm-2.6.0/gpuwm/offline_child.py +2022 -0
  60. gpuwm-2.6.0/gpuwm/offline_child_run.py +854 -0
  61. gpuwm-2.6.0/gpuwm/offline_child_smoke.py +496 -0
  62. gpuwm-2.6.0/gpuwm/physics_compat.py +3105 -0
  63. gpuwm-2.6.0/gpuwm/physics_menu.py +634 -0
  64. gpuwm-2.6.0/gpuwm/physics_registry_v2.json +1 -0
  65. gpuwm-2.6.0/gpuwm/prepared_domain_tree_forecast.py +2708 -0
  66. gpuwm-2.6.0/gpuwm/prepared_single_domain_forecast.py +7957 -0
  67. gpuwm-2.6.0/gpuwm/runtime.py +4750 -0
  68. gpuwm-2.6.0/gpuwm/speedrun.py +848 -0
  69. gpuwm-2.6.0/gpuwm/table_assets.py +625 -0
  70. gpuwm-2.6.0/gpuwm/verify/cases/nest_relocate.py +544 -0
  71. gpuwm-2.6.0/gpuwm/verify/cases/real74_d01.py +932 -0
  72. gpuwm-2.6.0/gpuwm/verify/cases/real74_n5s.py +1457 -0
  73. gpuwm-2.6.0/gpuwm/verify/ftz_claim_sites.json +11570 -0
  74. gpuwm-2.6.0/gpuwm/verify/npref.py +11008 -0
  75. gpuwm-2.6.0/gpuwm/wrf_direct.py +2483 -0
  76. gpuwm-2.6.0/gpuwm/wrf_physics_inventory.py +423 -0
  77. gpuwm-2.6.0/gpuwm.egg-info/PKG-INFO +698 -0
  78. gpuwm-2.6.0/gpuwm.egg-info/SOURCES.txt +2297 -0
  79. gpuwm-2.6.0/gpuwm.egg-info/requires.txt +46 -0
  80. gpuwm-2.6.0/gpuwm.egg-info/top_level.txt +5 -0
  81. gpuwm-2.6.0/pyproject.toml +616 -0
  82. gpuwm-2.6.0/tests/test_acoustic_npref.py +535 -0
  83. gpuwm-2.6.0/tests/test_aerosol_source_report.py +568 -0
  84. gpuwm-2.6.0/tests/test_battery_list_census.py +285 -0
  85. gpuwm-2.6.0/tests/test_bridge_source_rev_stamp.py +386 -0
  86. gpuwm-2.6.0/tests/test_build_registry.py +308 -0
  87. gpuwm-2.6.0/tests/test_config_freeze.py +392 -0
  88. gpuwm-2.6.0/tests/test_cuda_libm_table_copies.py +262 -0
  89. gpuwm-2.6.0/tests/test_dependency_declaration_parity.py +820 -0
  90. gpuwm-2.6.0/tests/test_doctor.py +2900 -0
  91. gpuwm-2.6.0/tests/test_doctor_nexrad.py +271 -0
  92. gpuwm-2.6.0/tests/test_domain_wizard.py +3349 -0
  93. gpuwm-2.6.0/tests/test_downscale_cli.py +911 -0
  94. gpuwm-2.6.0/tests/test_dycore_symmetry_relations.py +670 -0
  95. gpuwm-2.6.0/tests/test_excluded_subsystem_absent.py +490 -0
  96. gpuwm-2.6.0/tests/test_excluded_subsystem_scan_is_armed.py +196 -0
  97. gpuwm-2.6.0/tests/test_fastfix_batched_durations.py +149 -0
  98. gpuwm-2.6.0/tests/test_fastfix_selector.py +284 -0
  99. gpuwm-2.6.0/tests/test_forecast_offset_init.py +678 -0
  100. gpuwm-2.6.0/tests/test_fp32_ulp.py +520 -0
  101. gpuwm-2.6.0/tests/test_ftz_receipt.py +317 -0
  102. gpuwm-2.6.0/tests/test_gpu_marker_discipline.py +458 -0
  103. gpuwm-2.6.0/tests/test_health_integer_policy.py +832 -0
  104. gpuwm-2.6.0/tests/test_hrrr_hierarchy_direct.py +1008 -0
  105. gpuwm-2.6.0/tests/test_hrrr_single_domain_benchmark.py +1950 -0
  106. gpuwm-2.6.0/tests/test_kernel_source_freeze_per_module.py +272 -0
  107. gpuwm-2.6.0/tests/test_line_ending_stability.py +716 -0
  108. gpuwm-2.6.0/tests/test_mapped_direct.py +1709 -0
  109. gpuwm-2.6.0/tests/test_mapped_engine_parity.py +2638 -0
  110. gpuwm-2.6.0/tests/test_memory_gate_calibration.py +340 -0
  111. gpuwm-2.6.0/tests/test_microphysics_transition.py +735 -0
  112. gpuwm-2.6.0/tests/test_mp28_runnable.py +2243 -0
  113. gpuwm-2.6.0/tests/test_mp28_runtime_reachability.py +1506 -0
  114. gpuwm-2.6.0/tests/test_mp8_frozen.py +1685 -0
  115. gpuwm-2.6.0/tests/test_mpas_mesh_door.py +931 -0
  116. gpuwm-2.6.0/tests/test_mpas_seam_doc_is_packaged.py +207 -0
  117. gpuwm-2.6.0/tests/test_mpas_static_door.py +481 -0
  118. gpuwm-2.6.0/tests/test_mutation_gate_manifest.py +286 -0
  119. gpuwm-2.6.0/tests/test_mynn_dmp_sibling.py +87 -0
  120. gpuwm-2.6.0/tests/test_mynn_mixscalars_runtime_residue.py +256 -0
  121. gpuwm-2.6.0/tests/test_mynn_pbl.py +2151 -0
  122. gpuwm-2.6.0/tests/test_mynn_pbl_gpu.py +1412 -0
  123. gpuwm-2.6.0/tests/test_mynn_radiation_coupling.py +183 -0
  124. gpuwm-2.6.0/tests/test_namelist_compat.py +733 -0
  125. gpuwm-2.6.0/tests/test_namelist_import.py +2352 -0
  126. gpuwm-2.6.0/tests/test_noahmp_libm.py +283 -0
  127. gpuwm-2.6.0/tests/test_offline_child.py +999 -0
  128. gpuwm-2.6.0/tests/test_p3_cuda.py +385 -0
  129. gpuwm-2.6.0/tests/test_p3_cuda_gpu.py +286 -0
  130. gpuwm-2.6.0/tests/test_p3_legacy_cloud_fraction.py +288 -0
  131. gpuwm-2.6.0/tests/test_p3_legacy_rrtmg_radii.py +181 -0
  132. gpuwm-2.6.0/tests/test_p3_port.py +1123 -0
  133. gpuwm-2.6.0/tests/test_p3_restart_manifest.py +142 -0
  134. gpuwm-2.6.0/tests/test_p3_restart_manifest_gpu.py +63 -0
  135. gpuwm-2.6.0/tests/test_package_data_coverage.py +1131 -0
  136. gpuwm-2.6.0/tests/test_pd_advection.py +562 -0
  137. gpuwm-2.6.0/tests/test_physics_allocation_inventory.py +885 -0
  138. gpuwm-2.6.0/tests/test_physics_compat.py +328 -0
  139. gpuwm-2.6.0/tests/test_physics_dispatch.py +601 -0
  140. gpuwm-2.6.0/tests/test_physics_md_aerosol_claims.py +1616 -0
  141. gpuwm-2.6.0/tests/test_physics_registry.py +2580 -0
  142. gpuwm-2.6.0/tests/test_preflight.py +4862 -0
  143. gpuwm-2.6.0/tests/test_prepared_cache.py +1054 -0
  144. gpuwm-2.6.0/tests/test_prepared_surface_restore.py +243 -0
  145. gpuwm-2.6.0/tests/test_real74_d01.py +746 -0
  146. gpuwm-2.6.0/tests/test_real_init.py +2253 -0
  147. gpuwm-2.6.0/tests/test_refl.py +696 -0
  148. gpuwm-2.6.0/tests/test_restart.py +4859 -0
  149. gpuwm-2.6.0/tests/test_rrtm_lw_cloud_fraction_flags.py +359 -0
  150. gpuwm-2.6.0/tests/test_rrtmgp.py +4093 -0
  151. gpuwm-2.6.0/tests/test_ruc.py +3079 -0
  152. gpuwm-2.6.0/tests/test_ruc_admission.py +1009 -0
  153. gpuwm-2.6.0/tests/test_ruc_column_batching.py +483 -0
  154. gpuwm-2.6.0/tests/test_ruc_contract.py +264 -0
  155. gpuwm-2.6.0/tests/test_ruc_gpu.py +2301 -0
  156. gpuwm-2.6.0/tests/test_ruc_nzs_device.py +301 -0
  157. gpuwm-2.6.0/tests/test_ruc_nzs_tier.py +673 -0
  158. gpuwm-2.6.0/tests/test_ruc_runtime.py +1589 -0
  159. gpuwm-2.6.0/tests/test_ruc_soil_wiring.py +761 -0
  160. gpuwm-2.6.0/tests/test_ruc_source_matrix.py +352 -0
  161. gpuwm-2.6.0/tests/test_runplan.py +3112 -0
  162. gpuwm-2.6.0/tests/test_runtime.py +869 -0
  163. gpuwm-2.6.0/tests/test_rw_wps_stock_inventory_contract.py +99 -0
  164. gpuwm-2.6.0/tests/test_soil_layer_geometry.py +547 -0
  165. gpuwm-2.6.0/tests/test_surface_radiation_carrier_contract.py +988 -0
  166. gpuwm-2.6.0/tests/test_tracked_file_writers_keep_lf.py +242 -0
  167. gpuwm-2.6.0/tests/test_verify_render_law.py +242 -0
  168. gpuwm-2.6.0/tests/test_vram_measured_reserve.py +587 -0
  169. gpuwm-2.6.0/tests/test_water_overlay.py +738 -0
  170. gpuwm-2.6.0/tests/test_wif_climatology.py +416 -0
  171. gpuwm-2.6.0/tests/test_wif_climatology_equivalence.py +163 -0
  172. gpuwm-2.6.0/tests/test_wif_dataset_contract.py +191 -0
  173. gpuwm-2.6.0/tests/test_wrf_physics_inventory.py +502 -0
  174. gpuwm-2.6.0/tests/test_ysu.py +749 -0
  175. gpuwm-2.6.0/tests/test_ysu_wrf461_parity.py +378 -0
  176. gpuwm-2.6.0/tilestream/case_hrrr.py +560 -0
  177. gpuwm-2.6.0/tilestream/make_output_json.py +248 -0
  178. gpuwm-2.6.0/tilestream/realcase.py +1433 -0
  179. gpuwm-2.6.0/tilestream/realdata.py +963 -0
  180. gpuwm-2.6.0/tilestream/test_gather.py +1135 -0
  181. gpuwm-2.6.0/tilestream/test_ledger_gate.py +555 -0
  182. gpuwm-2.6.0/tools/build_registry.py +4250 -0
  183. gpuwm-2.6.0/tools/build_rw_wps_release.py +1022 -0
  184. gpuwm-2.6.0/tools/check_registry_citations.py +468 -0
  185. gpuwm-2.6.0/tools/hrrr_single_domain_benchmark.py +4390 -0
  186. gpuwm-2.6.0/tools/hrrr_state_proof.py +554 -0
  187. gpuwm-2.6.0/tools/hrrr_two_domain_forecast.py +708 -0
  188. gpuwm-2.6.0/tools/mpas_seam_proofs.py +1119 -0
  189. gpuwm-2.6.0/tools/prepare_hrrr_wrf.py +1821 -0
  190. gpuwm-2.6.0/tools/wif_climatology_equivalence.py +230 -0
  191. gpuwm-2.5.7/PKG-INFO +0 -698
  192. gpuwm-2.5.7/gpuwm/bridge_assets.py +0 -1634
  193. gpuwm-2.5.7/gpuwm/bridges.py +0 -1320
  194. gpuwm-2.5.7/gpuwm/config.py +0 -3045
  195. gpuwm-2.5.7/gpuwm/core/kernel_frame_recordings.py +0 -505
  196. gpuwm-2.5.7/gpuwm/core/kernels/nest_microphysics.cu +0 -409
  197. gpuwm-2.5.7/gpuwm/core/kernels/rrtmgp_gas.cu +0 -407
  198. gpuwm-2.5.7/gpuwm/core/kernels/ruc.cu +0 -4440
  199. gpuwm-2.5.7/gpuwm/core/microphysics_transition.py +0 -678
  200. gpuwm-2.5.7/gpuwm/core/model.py +0 -1390
  201. gpuwm-2.5.7/gpuwm/core/moist.py +0 -1049
  202. gpuwm-2.5.7/gpuwm/core/mynn_pbl.py +0 -3770
  203. gpuwm-2.5.7/gpuwm/core/mynn_pbl_gpu.py +0 -1649
  204. gpuwm-2.5.7/gpuwm/core/mynn_pbl_runtime.py +0 -334
  205. gpuwm-2.5.7/gpuwm/core/p3.py +0 -1833
  206. gpuwm-2.5.7/gpuwm/core/physics.py +0 -5249
  207. gpuwm-2.5.7/gpuwm/core/preflight.py +0 -8019
  208. gpuwm-2.5.7/gpuwm/core/rrtm_lw.py +0 -1082
  209. gpuwm-2.5.7/gpuwm/core/rrtmg_legacy.py +0 -1141
  210. gpuwm-2.5.7/gpuwm/core/rrtmgp.py +0 -3825
  211. gpuwm-2.5.7/gpuwm/core/ruc.py +0 -9517
  212. gpuwm-2.5.7/gpuwm/core/ruc_contract.py +0 -338
  213. gpuwm-2.5.7/gpuwm/core/ruc_gpu.py +0 -2564
  214. gpuwm-2.5.7/gpuwm/core/ruc_runtime.py +0 -1003
  215. gpuwm-2.5.7/gpuwm/data/bridges/bridge-pins.json +0 -709
  216. gpuwm-2.5.7/gpuwm/doctor.py +0 -5587
  217. gpuwm-2.5.7/gpuwm/domain_wizard.py +0 -5421
  218. gpuwm-2.5.7/gpuwm/downscale.py +0 -888
  219. gpuwm-2.5.7/gpuwm/era5_direct.py +0 -1109
  220. gpuwm-2.5.7/gpuwm/gfs_direct.py +0 -2116
  221. gpuwm-2.5.7/gpuwm/hrrr_hierarchy_direct.py +0 -1373
  222. gpuwm-2.5.7/gpuwm/hrrr_route_inputs.py +0 -937
  223. gpuwm-2.5.7/gpuwm/ingest/cpu_backend.py +0 -462
  224. gpuwm-2.5.7/gpuwm/ingest/hrrr_physics.py +0 -319
  225. gpuwm-2.5.7/gpuwm/ingest/nest_init.py +0 -1760
  226. gpuwm-2.5.7/gpuwm/ingest/prepared_cache.py +0 -1657
  227. gpuwm-2.5.7/gpuwm/ingest/real.py +0 -3050
  228. gpuwm-2.5.7/gpuwm/ingest/ruc_soil.py +0 -866
  229. gpuwm-2.5.7/gpuwm/ingest/soil_contract.py +0 -1275
  230. gpuwm-2.5.7/gpuwm/io/restart.py +0 -5127
  231. gpuwm-2.5.7/gpuwm/mapped_direct.py +0 -1611
  232. gpuwm-2.5.7/gpuwm/mapped_source.py +0 -6035
  233. gpuwm-2.5.7/gpuwm/mpas_mesh.py +0 -1516
  234. gpuwm-2.5.7/gpuwm/namelist_compat.py +0 -1260
  235. gpuwm-2.5.7/gpuwm/namelist_import.py +0 -2790
  236. gpuwm-2.5.7/gpuwm/netcdf_bridge.py +0 -553
  237. gpuwm-2.5.7/gpuwm/offline_child.py +0 -1872
  238. gpuwm-2.5.7/gpuwm/offline_child_run.py +0 -818
  239. gpuwm-2.5.7/gpuwm/offline_child_smoke.py +0 -478
  240. gpuwm-2.5.7/gpuwm/physics_compat.py +0 -3013
  241. gpuwm-2.5.7/gpuwm/physics_menu.py +0 -627
  242. gpuwm-2.5.7/gpuwm/physics_registry_v2.json +0 -1
  243. gpuwm-2.5.7/gpuwm/prepared_domain_tree_forecast.py +0 -2681
  244. gpuwm-2.5.7/gpuwm/prepared_single_domain_forecast.py +0 -7927
  245. gpuwm-2.5.7/gpuwm/runtime.py +0 -4750
  246. gpuwm-2.5.7/gpuwm/speedrun.py +0 -842
  247. gpuwm-2.5.7/gpuwm/table_assets.py +0 -500
  248. gpuwm-2.5.7/gpuwm/verify/cases/nest_relocate.py +0 -544
  249. gpuwm-2.5.7/gpuwm/verify/cases/real74_d01.py +0 -919
  250. gpuwm-2.5.7/gpuwm/verify/cases/real74_n5s.py +0 -1412
  251. gpuwm-2.5.7/gpuwm/verify/ftz_claim_sites.json +0 -11053
  252. gpuwm-2.5.7/gpuwm/verify/npref.py +0 -10957
  253. gpuwm-2.5.7/gpuwm/wrf_direct.py +0 -2406
  254. gpuwm-2.5.7/gpuwm/wrf_physics_inventory.py +0 -349
  255. gpuwm-2.5.7/gpuwm.egg-info/PKG-INFO +0 -698
  256. gpuwm-2.5.7/gpuwm.egg-info/SOURCES.txt +0 -2256
  257. gpuwm-2.5.7/gpuwm.egg-info/requires.txt +0 -46
  258. gpuwm-2.5.7/gpuwm.egg-info/top_level.txt +0 -4
  259. gpuwm-2.5.7/pyproject.toml +0 -579
  260. gpuwm-2.5.7/tests/test_acoustic_npref.py +0 -403
  261. gpuwm-2.5.7/tests/test_bridge_source_rev_stamp.py +0 -378
  262. gpuwm-2.5.7/tests/test_build_registry.py +0 -305
  263. gpuwm-2.5.7/tests/test_config_freeze.py +0 -327
  264. gpuwm-2.5.7/tests/test_dependency_declaration_parity.py +0 -798
  265. gpuwm-2.5.7/tests/test_doctor.py +0 -2900
  266. gpuwm-2.5.7/tests/test_doctor_nexrad.py +0 -261
  267. gpuwm-2.5.7/tests/test_domain_wizard.py +0 -3341
  268. gpuwm-2.5.7/tests/test_downscale_cli.py +0 -867
  269. gpuwm-2.5.7/tests/test_fastfix_selector.py +0 -263
  270. gpuwm-2.5.7/tests/test_forecast_offset_init.py +0 -658
  271. gpuwm-2.5.7/tests/test_fp32_ulp.py +0 -468
  272. gpuwm-2.5.7/tests/test_ftz_receipt.py +0 -312
  273. gpuwm-2.5.7/tests/test_gpu_marker_discipline.py +0 -452
  274. gpuwm-2.5.7/tests/test_health_integer_policy.py +0 -822
  275. gpuwm-2.5.7/tests/test_hrrr_hierarchy_direct.py +0 -960
  276. gpuwm-2.5.7/tests/test_hrrr_single_domain_benchmark.py +0 -1932
  277. gpuwm-2.5.7/tests/test_line_ending_stability.py +0 -393
  278. gpuwm-2.5.7/tests/test_mapped_direct.py +0 -1704
  279. gpuwm-2.5.7/tests/test_mapped_engine_parity.py +0 -2630
  280. gpuwm-2.5.7/tests/test_memory_gate_calibration.py +0 -294
  281. gpuwm-2.5.7/tests/test_microphysics_transition.py +0 -313
  282. gpuwm-2.5.7/tests/test_mp28_runnable.py +0 -2068
  283. gpuwm-2.5.7/tests/test_mp28_runtime_reachability.py +0 -1436
  284. gpuwm-2.5.7/tests/test_mp8_frozen.py +0 -1586
  285. gpuwm-2.5.7/tests/test_mpas_mesh_door.py +0 -702
  286. gpuwm-2.5.7/tests/test_mpas_static_door.py +0 -418
  287. gpuwm-2.5.7/tests/test_mynn_pbl.py +0 -2126
  288. gpuwm-2.5.7/tests/test_mynn_pbl_gpu.py +0 -1382
  289. gpuwm-2.5.7/tests/test_mynn_radiation_coupling.py +0 -178
  290. gpuwm-2.5.7/tests/test_namelist_compat.py +0 -645
  291. gpuwm-2.5.7/tests/test_namelist_import.py +0 -2267
  292. gpuwm-2.5.7/tests/test_offline_child.py +0 -673
  293. gpuwm-2.5.7/tests/test_p3_port.py +0 -929
  294. gpuwm-2.5.7/tests/test_package_data_coverage.py +0 -1131
  295. gpuwm-2.5.7/tests/test_pd_advection.py +0 -520
  296. gpuwm-2.5.7/tests/test_physics_allocation_inventory.py +0 -845
  297. gpuwm-2.5.7/tests/test_physics_compat.py +0 -278
  298. gpuwm-2.5.7/tests/test_physics_dispatch.py +0 -539
  299. gpuwm-2.5.7/tests/test_physics_md_aerosol_claims.py +0 -1615
  300. gpuwm-2.5.7/tests/test_physics_registry.py +0 -2559
  301. gpuwm-2.5.7/tests/test_preflight.py +0 -4830
  302. gpuwm-2.5.7/tests/test_prepared_cache.py +0 -1047
  303. gpuwm-2.5.7/tests/test_prepared_surface_restore.py +0 -238
  304. gpuwm-2.5.7/tests/test_real74_d01.py +0 -739
  305. gpuwm-2.5.7/tests/test_real_init.py +0 -1873
  306. gpuwm-2.5.7/tests/test_refl.py +0 -674
  307. gpuwm-2.5.7/tests/test_restart.py +0 -4739
  308. gpuwm-2.5.7/tests/test_rrtmgp.py +0 -4015
  309. gpuwm-2.5.7/tests/test_ruc.py +0 -3079
  310. gpuwm-2.5.7/tests/test_ruc_admission.py +0 -798
  311. gpuwm-2.5.7/tests/test_ruc_column_batching.py +0 -475
  312. gpuwm-2.5.7/tests/test_ruc_contract.py +0 -226
  313. gpuwm-2.5.7/tests/test_ruc_gpu.py +0 -2301
  314. gpuwm-2.5.7/tests/test_ruc_runtime.py +0 -1451
  315. gpuwm-2.5.7/tests/test_ruc_soil_wiring.py +0 -657
  316. gpuwm-2.5.7/tests/test_runplan.py +0 -3082
  317. gpuwm-2.5.7/tests/test_runtime.py +0 -845
  318. gpuwm-2.5.7/tests/test_soil_layer_geometry.py +0 -441
  319. gpuwm-2.5.7/tests/test_surface_radiation_carrier_contract.py +0 -981
  320. gpuwm-2.5.7/tests/test_verify_render_law.py +0 -236
  321. gpuwm-2.5.7/tests/test_vram_measured_reserve.py +0 -563
  322. gpuwm-2.5.7/tests/test_water_overlay.py +0 -690
  323. gpuwm-2.5.7/tests/test_wrf_physics_inventory.py +0 -358
  324. gpuwm-2.5.7/tests/test_ysu.py +0 -749
  325. gpuwm-2.5.7/tests/test_ysu_wrf461_parity.py +0 -378
  326. gpuwm-2.5.7/tilestream/case_hrrr.py +0 -560
  327. gpuwm-2.5.7/tilestream/make_output_json.py +0 -245
  328. gpuwm-2.5.7/tilestream/realcase.py +0 -1426
  329. gpuwm-2.5.7/tilestream/realdata.py +0 -956
  330. gpuwm-2.5.7/tilestream/test_gather.py +0 -1125
  331. gpuwm-2.5.7/tilestream/test_ledger_gate.py +0 -545
  332. gpuwm-2.5.7/tools/build_registry.py +0 -4156
  333. gpuwm-2.5.7/tools/build_rw_wps_release.py +0 -1005
  334. gpuwm-2.5.7/tools/check_registry_citations.py +0 -468
  335. gpuwm-2.5.7/tools/hrrr_single_domain_benchmark.py +0 -4219
  336. gpuwm-2.5.7/tools/hrrr_state_proof.py +0 -522
  337. gpuwm-2.5.7/tools/hrrr_two_domain_forecast.py +0 -700
  338. gpuwm-2.5.7/tools/mpas_seam_proofs.py +0 -1114
  339. gpuwm-2.5.7/tools/prepare_hrrr_wrf.py +0 -1805
  340. {gpuwm-2.5.7 → gpuwm-2.6.0}/LICENSE +0 -0
  341. {gpuwm-2.5.7 → gpuwm-2.6.0}/MANIFEST.in +0 -0
  342. {gpuwm-2.5.7 → gpuwm-2.6.0}/NOTICE +0 -0
  343. {gpuwm-2.5.7 → gpuwm-2.6.0}/README.md +0 -0
  344. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/Vtable.ERA5_CDO +0 -0
  345. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/aifs_single_demo.namelist.wps +0 -0
  346. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/aifs_single_demo.toml +0 -0
  347. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/aigefs_member_demo.namelist.wps +0 -0
  348. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/aigefs_member_demo.toml +0 -0
  349. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/aigfs_hybrid_demo.namelist.wps +0 -0
  350. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/aigfs_hybrid_demo.toml +0 -0
  351. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/case_20240521.toml +0 -0
  352. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/shape_3km_thompson_rrtmg_legacy.toml +0 -0
  353. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/shape_smoke_3km_thompson_dudhia.toml +0 -0
  354. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/shape_tiles_control_resident_tree.toml +0 -0
  355. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/shape_tiles_doorleg.namelist.wps +0 -0
  356. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/shape_tiles_resident_parent_streamed_child.toml.tmpl +0 -0
  357. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/battery/shape_tiles_streamed_parent_resident_child.toml.tmpl +0 -0
  358. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/conus3km.namelist.wps +0 -0
  359. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/conus3km.toml +0 -0
  360. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/cyclone_nest_slots_12km.namelist.wps +0 -0
  361. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/cyclone_nest_slots_12km.toml +0 -0
  362. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ecmwf_oper_12km_10gib.namelist.wps +0 -0
  363. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ecmwf_oper_12km_10gib.toml +0 -0
  364. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ecmwf_oper_12km_quickstart.namelist.wps +0 -0
  365. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ecmwf_oper_12km_quickstart.toml +0 -0
  366. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ecmwf_oper_demo.namelist.wps +0 -0
  367. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ecmwf_oper_demo.toml +0 -0
  368. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ensemble/may1999_tiny_2member.toml +0 -0
  369. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ensemble/may1999_tiny_ensemble_base.toml +0 -0
  370. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_demo.namelist.wps +0 -0
  371. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_demo.toml +0 -0
  372. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_l137_demo.namelist.wps +0 -0
  373. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_l137_demo.toml +0 -0
  374. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_l137_regional_demo.namelist.wps +0 -0
  375. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_l137_regional_demo.toml +0 -0
  376. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_regional_demo.namelist.wps +0 -0
  377. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_regional_demo.toml +0 -0
  378. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_wrf_direct_proof.namelist.wps +0 -0
  379. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_wrf_direct_proof.toml +0 -0
  380. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/era5_wrf_direct_target.json +0 -0
  381. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/frozen/README.md +0 -0
  382. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/frozen/les_nest_250m_grayzone.toml +0 -0
  383. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/frozen/les_nest_250m_km3.toml +0 -0
  384. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/frozen/les_tornado_100m_mayfield_20211210.toml +0 -0
  385. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gdas_analysis_12km_10gib.namelist.wps +0 -0
  386. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gdas_analysis_12km_10gib.toml +0 -0
  387. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gdas_analysis_12km_quickstart.namelist.wps +0 -0
  388. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gdas_analysis_12km_quickstart.toml +0 -0
  389. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gdas_analysis_demo.namelist.wps +0 -0
  390. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gdas_analysis_demo.toml +0 -0
  391. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gefs_member_demo.namelist.wps +0 -0
  392. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gefs_member_demo.toml +0 -0
  393. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gem_gdps_demo.namelist.wps +0 -0
  394. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gem_gdps_demo.toml +0 -0
  395. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gem_gdps_regional_demo.namelist.wps +0 -0
  396. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gem_gdps_regional_demo.toml +0 -0
  397. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_12km_10gib.namelist.wps +0 -0
  398. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_12km_10gib.toml +0 -0
  399. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_12km_quickstart.namelist.wps +0 -0
  400. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_12km_quickstart.toml +0 -0
  401. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_wrf_direct_proof.namelist.input +0 -0
  402. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_wrf_direct_proof.namelist.wps +0 -0
  403. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_wrf_direct_proof.toml +0 -0
  404. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_wrf_hierarchy_proof.namelist.input +0 -0
  405. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_wrf_hierarchy_proof.namelist.wps +0 -0
  406. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/gfs_wrf_hierarchy_proof.toml +0 -0
  407. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/highres_static_demo.toml +0 -0
  408. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/highres_static_demo.wps +0 -0
  409. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_3km_demo.d01-target.json +0 -0
  410. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_3km_demo.namelist.input +0 -0
  411. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_3km_demo.namelist.wps +0 -0
  412. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_3km_demo.stock.namelist.input +0 -0
  413. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_3km_demo.toml +0 -0
  414. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_quick_demo.d01-target.json +0 -0
  415. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_quick_demo.namelist.input +0 -0
  416. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_quick_demo.namelist.wps +0 -0
  417. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_quick_demo.stock.namelist.input +0 -0
  418. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_native_quick_demo.toml +0 -0
  419. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_prs_3km_demo.namelist.wps +0 -0
  420. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_prs_3km_demo.toml +0 -0
  421. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_prs_demo.namelist.wps +0 -0
  422. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_prs_demo.toml +0 -0
  423. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_target_ohio_192x160_3km.json +0 -0
  424. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_target_oklahoma_1000x1000_1km.json +0 -0
  425. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/hrrr_target_oklahoma_192x160_3km.json +0 -0
  426. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/icon_eu_6km_demo.namelist.wps +0 -0
  427. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/icon_eu_6km_demo.toml +0 -0
  428. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/icon_eu_demo.namelist.wps +0 -0
  429. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/icon_eu_demo.toml +0 -0
  430. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/initdemo.d01-target.json +0 -0
  431. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/initdemo.namelist.input +0 -0
  432. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/initdemo.namelist.wps +0 -0
  433. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/initdemo.stock.namelist.input +0 -0
  434. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/initdemo_bubble_off.toml +0 -0
  435. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/initdemo_bubble_on.toml +0 -0
  436. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_nest_250m_grayzone.toml +0 -0
  437. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_nest_250m_km3.toml +0 -0
  438. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_tornado_100m_dodgecity_20160524.toml +0 -0
  439. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_tornado_100m_mayfield_20211210.toml +0 -0
  440. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_tornado_100m_mayfield_20211210_attempt2.toml +0 -0
  441. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_tornado_100m_mayfield_20211210_attempt2b.toml +0 -0
  442. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_tornado_100m_mayfield_20211210_attempt3.toml +0 -0
  443. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/les_tornado_100m_mayfield_20211210_attempt3_fine30s.toml +0 -0
  444. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/may1999_d01_smoke.toml +0 -0
  445. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_follow_2km.namelist.wps +0 -0
  446. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_follow_2km.toml +0 -0
  447. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_move_proof.namelist.wps +0 -0
  448. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_move_proof.toml +0 -0
  449. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_spawn_2km.namelist.wps +0 -0
  450. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_spawn_2km.toml +0 -0
  451. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_static_2km.namelist.wps +0 -0
  452. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/moving_nest_20110427_static_2km.toml +0 -0
  453. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/myj_pbl.toml +0 -0
  454. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/nest_lifecycle_20240521_4km.namelist.wps +0 -0
  455. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/nest_lifecycle_20240521_4km.toml +0 -0
  456. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/nest_spawn_oneshot_20240521_4km.namelist.wps +0 -0
  457. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/nest_spawn_oneshot_20240521_4km.toml +0 -0
  458. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/p3_mp50_domain.toml +0 -0
  459. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/p3_mp50_shared.toml +0 -0
  460. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/probe_320x256.namelist.wps +0 -0
  461. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/probe_320x256.toml +0 -0
  462. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/probe_480x384.namelist.wps +0 -0
  463. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/probe_480x384.toml +0 -0
  464. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ptop_ab_20260824_18z.d01-target.json +0 -0
  465. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ptop_ab_20260824_18z.namelist.wps +0 -0
  466. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ptop_ab_20260824_18z_control.namelist.input +0 -0
  467. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/ptop_ab_20260824_18z_treatment.namelist.input +0 -0
  468. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rap_awip32_demo.namelist.wps +0 -0
  469. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rap_awip32_demo.toml +0 -0
  470. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rap_awip32_quicklook_12km.namelist.wps +0 -0
  471. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rap_awip32_quicklook_12km.toml +0 -0
  472. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rap_awip32_regional_3km.namelist.wps +0 -0
  473. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rap_awip32_regional_3km.toml +0 -0
  474. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74/soilhgt.d01.nc +0 -0
  475. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74/soilhgt.d02.nc +0 -0
  476. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74/soilhgt.d03.nc +0 -0
  477. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74/soilhgt.d04.nc +0 -0
  478. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74/soilhgt_thompson500m.d04.nc +0 -0
  479. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_2dom_gf.toml +0 -0
  480. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_4dom.toml +0 -0
  481. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_4dom_gf.toml +0 -0
  482. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_4dom_mynn.toml +0 -0
  483. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_4dom_mynn_norad.toml +0 -0
  484. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_4dom_mynn_norad_nocu.toml +0 -0
  485. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_4dom_noahmp_surface_interval.toml +0 -0
  486. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_d01.toml +0 -0
  487. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_d01_exp.toml +0 -0
  488. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_d01_rrtmg_legacy.toml +0 -0
  489. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_nssl2_500m.toml +0 -0
  490. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_nssl2_500m_comparison_candidate_v1.json +0 -0
  491. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_nssl2_500m_comparison_ratified_v1.json +0 -0
  492. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_thompson_1218z_rrtmg_legacy_4dom.toml +0 -0
  493. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/real74_uh_smoke_2dom_3h.toml +0 -0
  494. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rrfs_conus_convective_3km.namelist.wps +0 -0
  495. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rrfs_conus_convective_3km.toml +0 -0
  496. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rrfs_conus_demo.namelist.wps +0 -0
  497. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rrfs_conus_demo.toml +0 -0
  498. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rrfs_conus_quicklook_12km.namelist.wps +0 -0
  499. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rrfs_conus_quicklook_12km.toml +0 -0
  500. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-era5-1974-probe.mapping.json +0 -0
  501. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-era5-1974-terrain.composition.json +0 -0
  502. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-era5-netcdf-terrain.composition.json +0 -0
  503. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-era5-netcdf.mapping.json +0 -0
  504. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-gfs-pressure-grib2.descriptor.json +0 -0
  505. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-gfs-pressure-grib2.mapping.json +0 -0
  506. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/rw-wps-gfs-terrain.composition.json +0 -0
  507. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/scaffolds/wk82_identity_r1.toml +0 -0
  508. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/speedrun/nested-12km-3km-3h.namelist.wps +0 -0
  509. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/speedrun/nested-12km-3km-3h.toml +0 -0
  510. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/speedrun/regional-12km-6h.namelist.wps +0 -0
  511. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/speedrun/regional-12km-6h.toml +0 -0
  512. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/superoutbreak_20110427_probe.namelist.wps +0 -0
  513. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/superoutbreak_20110427_probe.toml +0 -0
  514. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/twentycrv3_netcdf_demo.namelist.wps +0 -0
  515. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/twentycrv3_netcdf_demo.toml +0 -0
  516. {gpuwm-2.5.7 → gpuwm-2.6.0}/configs/verify/spectral_compare_example.toml +0 -0
  517. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/__init__.py +0 -0
  518. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/adapt.py +0 -0
  519. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/Vtable.GFS.rw-wps +0 -0
  520. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-20crv3-member-grib2.composition.json +0 -0
  521. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-20crv3-member-grib2.mapping.json +0 -0
  522. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-20crv3-member-grib2.provenance.json +0 -0
  523. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-20crv3-netcdf.composition.json +0 -0
  524. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-20crv3-netcdf.mapping.json +0 -0
  525. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-20crv3-netcdf.provenance.json +0 -0
  526. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aifs-single-grib2.composition.json +0 -0
  527. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aifs-single-grib2.mapping.json +0 -0
  528. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aifs-single-grib2.provenance.json +0 -0
  529. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigefs-ensemble-grib2.members.json +0 -0
  530. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigefs-member-hybrid-grib2.composition.json +0 -0
  531. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigefs-member-hybrid-grib2.mapping.json +0 -0
  532. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigefs-member-hybrid-grib2.provenance.json +0 -0
  533. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigfs-gdas-hybrid-grib2.composition.json +0 -0
  534. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigfs-gdas-hybrid-grib2.mapping.json +0 -0
  535. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigfs-gdas-hybrid-grib2.provenance.json +0 -0
  536. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigfs-nomads-grib2.composition.json +0 -0
  537. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigfs-nomads-grib2.mapping.json +0 -0
  538. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-aigfs-nomads-grib2.provenance.json +0 -0
  539. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-ecmwf-open-data-oper-grib2.composition.json +0 -0
  540. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-ecmwf-open-data-oper-grib2.mapping.json +0 -0
  541. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-ecmwf-open-data-oper-grib2.provenance.json +0 -0
  542. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-era5-model-level-l137-grib2.composition.json +0 -0
  543. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-era5-model-level-l137-grib2.mapping.json +0 -0
  544. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-era5-model-level-l137-grib2.provenance.json +0 -0
  545. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-era5-plev-surface-donor.mapping.json +0 -0
  546. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-fetch-routes.v1.json +0 -0
  547. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gdas-pgrb2-0p25-grib2.composition.json +0 -0
  548. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gdas-pgrb2-0p25-grib2.mapping.json +0 -0
  549. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gdas-pgrb2-0p25-grib2.provenance.json +0 -0
  550. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gdas-pgrb2-donor.mapping.json +0 -0
  551. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gefs-ensemble-grib2.composition.json +0 -0
  552. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gefs-ensemble-grib2.mapping.json +0 -0
  553. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gefs-ensemble-grib2.members.json +0 -0
  554. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gefs-ensemble-grib2.provenance.json +0 -0
  555. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gem-gdps-grib2.composition.json +0 -0
  556. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gem-gdps-grib2.mapping.json +0 -0
  557. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-gem-gdps-grib2.provenance.json +0 -0
  558. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-hrrr-prs-grib2.composition.json +0 -0
  559. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-hrrr-prs-grib2.mapping.json +0 -0
  560. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-hrrr-prs-grib2.provenance.json +0 -0
  561. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-icon-eu-regular-grib2.composition.json +0 -0
  562. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-icon-eu-regular-grib2.mapping.json +0 -0
  563. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-icon-eu-regular-grib2.provenance.json +0 -0
  564. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-rap-awip32-grib2.composition.json +0 -0
  565. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-rap-awip32-grib2.mapping.json +0 -0
  566. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-rap-awip32-grib2.provenance.json +0 -0
  567. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-rrfs-prslev-2dfld-grib2.composition.json +0 -0
  568. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-rrfs-prslev-2dfld-grib2.mapping.json +0 -0
  569. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/rw-wps-rrfs-prslev-2dfld-grib2.provenance.json +0 -0
  570. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/specs/aigefs-member-hybrid.profile-spec.json +0 -0
  571. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/authorities/specs/gefs-ensemble-member.profile-spec.json +0 -0
  572. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/branch.py +0 -0
  573. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/capabilities.py +0 -0
  574. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/case_data.py +0 -0
  575. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/__init__.py +0 -0
  576. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/band.py +0 -0
  577. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/capsule.py +0 -0
  578. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/capsule_v1.schema.json +0 -0
  579. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/cli.py +0 -0
  580. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/compile_platform.py +0 -0
  581. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/dualrun.py +0 -0
  582. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/kernel_manifest.py +0 -0
  583. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/pins.py +0 -0
  584. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/verdict.py +0 -0
  585. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/certify/wrf_reference.py +0 -0
  586. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/chain_events.py +0 -0
  587. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/checkpoint_routes.py +0 -0
  588. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/cli.py +0 -0
  589. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/config_authority.py +0 -0
  590. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/__init__.py +0 -0
  591. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/acoustic.py +0 -0
  592. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/advection.py +0 -0
  593. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/analytic_radiation.py +0 -0
  594. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/clock.py +0 -0
  595. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/constants.py +0 -0
  596. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/correctly_rounded_libm.py +0 -0
  597. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/diagnostics.py +0 -0
  598. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/diffusion.py +0 -0
  599. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/dudhia.py +0 -0
  600. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/dycore.py +0 -0
  601. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/fp32_ulp.py +0 -0
  602. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/gf.py +0 -0
  603. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/gpu_mem_watch.py +0 -0
  604. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/grid.py +0 -0
  605. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/health.py +0 -0
  606. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/health_ledger.py +0 -0
  607. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/inflow_perturbation.py +0 -0
  608. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/jacobi_eigh.py +0 -0
  609. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/__init__.py +0 -0
  610. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/acoustic.cu +0 -0
  611. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/advection.cu +0 -0
  612. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/common.cuh +0 -0
  613. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/coriolis_map.cu +0 -0
  614. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/diagnostics.cu +0 -0
  615. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/diff6.cu +0 -0
  616. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/diff6_seam.cu +0 -0
  617. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/diffusion.cu +0 -0
  618. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/dycore.cu +0 -0
  619. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/ftz_probe.cu +0 -0
  620. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/gf.cu +0 -0
  621. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/health.cu +0 -0
  622. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/health_tile.cu +0 -0
  623. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/jacobi_eigh.cu +0 -0
  624. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/kessler.cu +0 -0
  625. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/kf.cu +0 -0
  626. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/kf_validation.cu +0 -0
  627. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/lbc_flow.cu +0 -0
  628. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/lbc_state.cu +0 -0
  629. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/microphysics_validation.cu +0 -0
  630. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/milbrandt2.cu +0 -0
  631. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/morrison.cu +0 -0
  632. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/myjpbl.cu +0 -0
  633. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/myjsfc.cu +0 -0
  634. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/mynn_pbl.cu +0 -0
  635. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/mynn_surface.cu +0 -0
  636. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nest.cu +0 -0
  637. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noah.cu +0 -0
  638. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_bareflux.cu +0 -0
  639. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_driver.cu +0 -0
  640. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_energy.cu +0 -0
  641. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_fluxprep.cu +0 -0
  642. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_glacier.cu +0 -0
  643. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_leaves.cu +0 -0
  644. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_libm_slab.cu +0 -0
  645. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_radiation.cu +0 -0
  646. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_sflx.cu +0 -0
  647. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_snow.cu +0 -0
  648. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_soilwater.cu +0 -0
  649. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_thermal.cu +0 -0
  650. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_vegeflux.cu +0 -0
  651. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_vegprecip.cu +0 -0
  652. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/noahmp_water.cu +0 -0
  653. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nssl2.cu +0 -0
  654. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nssl2_diagnostics.cu +0 -0
  655. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nssl2_driver_support.cu +0 -0
  656. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nssl2_fused_gs.cu +0 -0
  657. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nssl2_nucond.cu +0 -0
  658. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/nssl2_qvexcess.cu +0 -0
  659. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/openbc.cu +0 -0
  660. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/pd_advection.cu +0 -0
  661. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/refl.cu +0 -0
  662. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_lw.cu +0 -0
  663. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_lw_chain.cu +0 -0
  664. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_lw_taugb02_10_11_12.cu +0 -0
  665. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_lw_taugb03_05.cu +0 -0
  666. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_lw_taugb06_09.cu +0 -0
  667. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_lw_taugb13_16.cu +0 -0
  668. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_mcica_wrf.cu +0 -0
  669. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmg_sw.cu +0 -0
  670. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmgp_cloud.cu +0 -0
  671. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmgp_mcica.cu +0 -0
  672. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmgp_planck_common.cuh +0 -0
  673. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmgp_rte.cu +0 -0
  674. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/rrtmgp_validation.cu +0 -0
  675. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/sase.cu +0 -0
  676. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/saxpy.cu +0 -0
  677. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/sfclay.cu +0 -0
  678. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/shinhong.cu +0 -0
  679. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/shinhong_validation.cu +0 -0
  680. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/smag2d.cu +0 -0
  681. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/spec_bdy.cu +0 -0
  682. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson.cu +0 -0
  683. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_cold.cu +0 -0
  684. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_common.cuh +0 -0
  685. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_probe.cu +0 -0
  686. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_sat.cu +0 -0
  687. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_sed.cu +0 -0
  688. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_state.cu +0 -0
  689. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/thompson_aerosol_warm.cu +0 -0
  690. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/tke_budget.cu +0 -0
  691. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/uh_diag.cu +0 -0
  692. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/vert_interp.cu +0 -0
  693. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/wdm6.cu +0 -0
  694. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/wdm6_refl.cu +0 -0
  695. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/wsm6.cu +0 -0
  696. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/ysu.cu +0 -0
  697. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kernels/ysu_validation.cu +0 -0
  698. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/kf.py +0 -0
  699. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/landuse.py +0 -0
  700. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/microphysics.py +0 -0
  701. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/microphysics_aerosol.py +0 -0
  702. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/milbrandt2.py +0 -0
  703. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/milbrandt2_constants.py +0 -0
  704. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/moist_n2_mutation.py +0 -0
  705. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/morrison.py +0 -0
  706. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/morrison_constants.py +0 -0
  707. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/mpas_column_batch.py +0 -0
  708. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/mslp.py +0 -0
  709. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/myjpbl.py +0 -0
  710. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/myjsfc.py +0 -0
  711. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/myjsfc_tables.py +0 -0
  712. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/mynn_pbl_scratch.py +0 -0
  713. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/mynn_radiation.py +0 -0
  714. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/mynn_sfclay.py +0 -0
  715. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/mynn_surface.py +0 -0
  716. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nest.py +0 -0
  717. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nest_interp.py +0 -0
  718. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nest_lifecycle.py +0 -0
  719. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nest_relocation.py +0 -0
  720. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nest_spawn.py +0 -0
  721. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nest_stream.py +0 -0
  722. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noah.py +0 -0
  723. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp.py +0 -0
  724. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_bareflux.py +0 -0
  725. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_bareflux_gpu.py +0 -0
  726. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_column_slab.py +0 -0
  727. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_driver.py +0 -0
  728. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_driver_gpu.py +0 -0
  729. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_energy.py +0 -0
  730. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_energy_gpu.py +0 -0
  731. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_energy_slab.py +0 -0
  732. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_flux_slab.py +0 -0
  733. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_fluxprep.py +0 -0
  734. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_fluxprep_gpu.py +0 -0
  735. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_glacier.py +0 -0
  736. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_glacier_gpu.py +0 -0
  737. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_kernel_sources.py +0 -0
  738. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_leaf_mutation.py +0 -0
  739. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_leaves.py +0 -0
  740. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_leaves_gpu.py +0 -0
  741. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_libm.py +0 -0
  742. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_mynn_contract.py +0 -0
  743. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_radiation.py +0 -0
  744. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_radiation_gpu.py +0 -0
  745. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_runtime.py +0 -0
  746. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_sflx.py +0 -0
  747. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_sflx_post_slab.py +0 -0
  748. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_sflx_pre_gpu.py +0 -0
  749. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_sflx_pre_slab.py +0 -0
  750. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_slab_libm.py +0 -0
  751. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_snow.py +0 -0
  752. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_soilwater.py +0 -0
  753. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_thermal.py +0 -0
  754. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_thermal_gpu.py +0 -0
  755. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_thermal_slab.py +0 -0
  756. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_vegeflux.py +0 -0
  757. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_vegeflux_gpu.py +0 -0
  758. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_vegprecip.py +0 -0
  759. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_water.py +0 -0
  760. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_water_gpu.py +0 -0
  761. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/noahmp_water_slab.py +0 -0
  762. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2.py +0 -0
  763. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_contract.py +0 -0
  764. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_default_hooks.py +0 -0
  765. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_diagnostics.py +0 -0
  766. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_driver_support.py +0 -0
  767. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_fused_gs.py +0 -0
  768. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_nucond.py +0 -0
  769. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_production_coordinator.py +0 -0
  770. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_qvexcess.py +0 -0
  771. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_radiation.py +0 -0
  772. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/nssl2_runtime.py +0 -0
  773. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/p3_tables.py +0 -0
  774. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/pace.py +0 -0
  775. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/physics_continuation.py +0 -0
  776. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/physics_inventory.py +0 -0
  777. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/radiation_carriers.py +0 -0
  778. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/refl.py +0 -0
  779. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/relocation_runner.py +0 -0
  780. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtm.py +0 -0
  781. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtm_tables.py +0 -0
  782. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtm_taumol.py +0 -0
  783. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtmg_legacy_prep.py +0 -0
  784. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtmg_lw.py +0 -0
  785. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtmg_mcica.py +0 -0
  786. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/rrtmg_sw.py +0 -0
  787. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/sase.py +0 -0
  788. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/sase_limits.py +0 -0
  789. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/sfclay.py +0 -0
  790. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/shinhong.py +0 -0
  791. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/smag2d.py +0 -0
  792. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/spawn_runner.py +0 -0
  793. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/state.py +0 -0
  794. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/storm_track_writer.py +0 -0
  795. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/storm_tracking.py +0 -0
  796. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/streaming.py +0 -0
  797. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/surface_forcing.py +0 -0
  798. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/surface_moisture_ledger.py +0 -0
  799. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/terrain.py +0 -0
  800. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson.py +0 -0
  801. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol.py +0 -0
  802. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_cold.py +0 -0
  803. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_contract.py +0 -0
  804. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_launch.py +0 -0
  805. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_runtime.py +0 -0
  806. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_sat.py +0 -0
  807. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_sed.py +0 -0
  808. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_state.py +0 -0
  809. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_aerosol_warm.py +0 -0
  810. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_contract.py +0 -0
  811. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/thompson_runtime.py +0 -0
  812. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/tke_budget.py +0 -0
  813. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/uh_diag.py +0 -0
  814. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/wdm6.py +0 -0
  815. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/wdm6_constants.py +0 -0
  816. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/wsm6.py +0 -0
  817. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/wsm6_constants.py +0 -0
  818. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/core/ysu.py +0 -0
  819. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/__init__.py +0 -0
  820. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/background.py +0 -0
  821. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/cadence.py +0 -0
  822. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/enprod.py +0 -0
  823. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/hotstart.py +0 -0
  824. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/letkf.py +0 -0
  825. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/moments.py +0 -0
  826. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/nested_forecast.py +0 -0
  827. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/obs_goes.py +0 -0
  828. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/obs_radar.py +0 -0
  829. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/obs_surface.py +0 -0
  830. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/obsop.py +0 -0
  831. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/obsop_cwp.py +0 -0
  832. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/osse.py +0 -0
  833. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/perturb.py +0 -0
  834. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/positivity.py +0 -0
  835. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/radar_assimilation.py +0 -0
  836. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/synthetic_cycle.py +0 -0
  837. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/da/treatment.py +0 -0
  838. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/README.md +0 -0
  839. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/acceptance_band.schema.json +0 -0
  840. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/bands/10d6e178d96648e35b826217cc001a1f598232bf6ceabd9ce07074a1f65e2031.coverage.json +0 -0
  841. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/bands/10d6e178d96648e35b826217cc001a1f598232bf6ceabd9ce07074a1f65e2031.json +0 -0
  842. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/margin_rule.json +0 -0
  843. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/mp28_matched_t0_readback_digest_mp08.json +0 -0
  844. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/mp28_matched_t0_readback_digest_mp08.md +0 -0
  845. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/mp28_matched_t0_readback_digest_mp28.json +0 -0
  846. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/mp28_matched_t0_readback_digest_mp28.md +0 -0
  847. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/recipe-receipt/metrics.csv +0 -0
  848. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/recipe-receipt/receipt.json +0 -0
  849. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/t0_state_parity_digest.json +0 -0
  850. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/certification/t0_state_parity_digest.md +0 -0
  851. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-deep-consistency.csv +0 -0
  852. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-deep-levels.csv +0 -0
  853. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-deep-surface.csv +0 -0
  854. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-isolation.csv +0 -0
  855. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-levels.csv +0 -0
  856. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-libm-exp2f.csv +0 -0
  857. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-libm-expm1f.csv +0 -0
  858. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-libm-lgammaf.csv +0 -0
  859. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-libm-tgammaf.csv +0 -0
  860. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-pow-probe.txt +0 -0
  861. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-shallow-consistency.csv +0 -0
  862. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-shallow-levels.csv +0 -0
  863. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-shallow-surface.csv +0 -0
  864. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-stage-consistency.csv +0 -0
  865. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-stage-levels.csv +0 -0
  866. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-stage-surface.csv +0 -0
  867. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/gf-surface.csv +0 -0
  868. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/libmvec-report.txt +0 -0
  869. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/gf/oracle/oracle-sha256sums.txt +0 -0
  870. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/kf_lutab/LICENSE.txt +0 -0
  871. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/kf_lutab/PROVENANCE.md +0 -0
  872. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/kf_lutab/kf_lutab.npz +0 -0
  873. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/LICENSE.txt +0 -0
  874. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/PROVENANCE.md +0 -0
  875. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/constants.toml +0 -0
  876. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/oracle/compiler.txt +0 -0
  877. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/oracle/libmvec-report.txt +0 -0
  878. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/oracle/morrison-levels.csv +0 -0
  879. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/oracle/morrison-surface.csv +0 -0
  880. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/oracle/oracle-sha256sums.txt +0 -0
  881. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/morrison/oracle/wrf-commit.txt +0 -0
  882. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mpas/mesh-sizing.json +0 -0
  883. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/README.md +0 -0
  884. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/condensation.csv +0 -0
  885. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/dmp-mf.csv +0 -0
  886. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/driver.csv +0 -0
  887. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/esat-blend.csv +0 -0
  888. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/initialize.csv +0 -0
  889. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/mixlength.csv +0 -0
  890. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/pbl-level2.csv +0 -0
  891. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/pblh-scale.csv +0 -0
  892. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/predict.csv +0 -0
  893. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/stfunc.csv +0 -0
  894. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/surface-layer-coarse.csv +0 -0
  895. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/surface-layer-water-leaf.csv +0 -0
  896. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/surface-layer-water.csv +0 -0
  897. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/surface-layer-wide.csv +0 -0
  898. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/surface-layer-wrapper.csv +0 -0
  899. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/surface-layer.csv +0 -0
  900. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/tendencies-mf.csv +0 -0
  901. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/tendencies-nomf.csv +0 -0
  902. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/mynn/oracle/turbulence.csv +0 -0
  903. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/PROVENANCE.md +0 -0
  904. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/libmvec-report.txt +0 -0
  905. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/noah-lsm-frpcpn.csv +0 -0
  906. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/noah-lsm-monalb.csv +0 -0
  907. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/noah-lsm-thcnd2.csv +0 -0
  908. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/noah-lsm.csv +0 -0
  909. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah/oracle/oracle-sha256sums.txt +0 -0
  910. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah_tables/GENPARM.TBL +0 -0
  911. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah_tables/LANDUSE.TBL +0 -0
  912. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah_tables/PROVENANCE.md +0 -0
  913. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah_tables/SOILPARM.TBL +0 -0
  914. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noah_tables/VEGPARM.TBL +0 -0
  915. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/GENPARM.TBL +0 -0
  916. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/MPTABLE.TBL +0 -0
  917. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/PROVENANCE.md +0 -0
  918. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/SOILPARM.TBL +0 -0
  919. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/PROVENANCE-driver.md +0 -0
  920. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/PROVENANCE-energy.md +0 -0
  921. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/PROVENANCE-radiation.md +0 -0
  922. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/PROVENANCE-snow.md +0 -0
  923. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/PROVENANCE-soilwater.md +0 -0
  924. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/PROVENANCE-water.md +0 -0
  925. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/README-thermal.md +0 -0
  926. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/README.md +0 -0
  927. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/glibc-atanf-fp32.csv +0 -0
  928. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/glibc-libm-fp32.csv +0 -0
  929. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-bareflux-esat.csv +0 -0
  930. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-bareflux-libm.csv +0 -0
  931. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-bareflux.csv +0 -0
  932. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-driver.csv +0 -0
  933. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-energy.csv +0 -0
  934. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-fluxprep-discrimination.csv +0 -0
  935. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-fluxprep.csv +0 -0
  936. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-leaves-discrimination.csv +0 -0
  937. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-leaves.csv +0 -0
  938. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-parameters.csv +0 -0
  939. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-radiation-albedo.csv +0 -0
  940. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-radiation-groundalb.csv +0 -0
  941. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-radiation-snow_age.csv +0 -0
  942. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-radiation-snowalb_class.csv +0 -0
  943. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-radiation-surrad.csv +0 -0
  944. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-radiation-twostream.csv +0 -0
  945. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-sflx-error.csv +0 -0
  946. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-sflx.csv +0 -0
  947. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-snow-expf.csv +0 -0
  948. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-snow.csv +0 -0
  949. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-soilwater-libm.csv +0 -0
  950. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-soilwater.csv +0 -0
  951. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-thermal-discrimination.csv +0 -0
  952. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-thermal.csv +0 -0
  953. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-vegeflux.csv +0 -0
  954. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-vegprecip-phenology.csv +0 -0
  955. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-vegprecip-precip_heat.csv +0 -0
  956. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-water-libm.csv +0 -0
  957. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/noahmp/oracle/noahmp-water.csv +0 -0
  958. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/DEFAULT_HOOKS_VALIDATION.md +0 -0
  959. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/MP18_SELECTOR_INTEGRATION_CHECKLIST.md +0 -0
  960. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/NSSL2_COLD_FAMILIES_AUDIT.md +0 -0
  961. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/NSSL2_SETVTZ_FINAL_LIMITER_AUDIT.md +0 -0
  962. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/RESTART_VALIDATION.md +0 -0
  963. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/RUNTIME_ADAPTER_VALIDATION.md +0 -0
  964. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/driver-oracle/IMPLEMENTATION_SHA256 +0 -0
  965. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/driver-oracle/ORACLE_SHA256 +0 -0
  966. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/driver-oracle/SOURCE_SHA256 +0 -0
  967. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/driver-oracle/VALIDATION.md +0 -0
  968. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/driver-oracle/driver-support.csv +0 -0
  969. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/DIAGNOSTICS_SHA256 +0 -0
  970. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/INSTRUMENTATION_SHA256 +0 -0
  971. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/ORACLE_SHA256 +0 -0
  972. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/REBUILD_SHA256 +0 -0
  973. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/SOURCE_SHA256 +0 -0
  974. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/TOOLCHAIN.txt +0 -0
  975. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/VALIDATION.json +0 -0
  976. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/VALIDATION.md +0 -0
  977. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/WRF_COMMIT +0 -0
  978. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/fused-gs-diagnostics.csv +0 -0
  979. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/fused-gs-oracle/fused-gs.csv +0 -0
  980. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/README.md +0 -0
  981. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/bigg-rain-freezing.csv +0 -0
  982. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/clear-air-activation.csv +0 -0
  983. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/cloud-interior-renucleation.csv +0 -0
  984. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/cloudy-water-adjustment.csv +0 -0
  985. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/effective-radius.csv +0 -0
  986. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/frozen-cross-collection.csv +0 -0
  987. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/frozen-vapor-exchange.csv +0 -0
  988. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/graupel-cloud-riming.csv +0 -0
  989. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/graupel-hail-vapor-exchange.csv +0 -0
  990. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/graupel-sedimentation.csv +0 -0
  991. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/hail-cloud-riming.csv +0 -0
  992. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/hail-sedimentation.csv +0 -0
  993. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/ice-cloud-riming.csv +0 -0
  994. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/ice-deposition-conversion.csv +0 -0
  995. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/ice-sedimentation.csv +0 -0
  996. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/initial-state.csv +0 -0
  997. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/melting-liquid-shedding.csv +0 -0
  998. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/nucond-production.csv +0 -0
  999. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/primary-ice-nucleation.csv +0 -0
  1000. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/production-evidence-v1.json +0 -0
  1001. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/qvexcess-evidence-v1.json +0 -0
  1002. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/qvexcess.csv +0 -0
  1003. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/radardd02.csv +0 -0
  1004. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/rain-cloud-accretion.csv +0 -0
  1005. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/rain-evaporation.csv +0 -0
  1006. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/rain-ice-collection-freezing.csv +0 -0
  1007. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/rain-sedimentation.csv +0 -0
  1008. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/secondary-ice-conversions.csv +0 -0
  1009. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/self-collection.csv +0 -0
  1010. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/snow-aggregation.csv +0 -0
  1011. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/snow-cloud-riming.csv +0 -0
  1012. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/snow-sedimentation.csv +0 -0
  1013. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/nssl2/oracle/warm-autoconversion.csv +0 -0
  1014. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/p3/PROVENANCE.md +0 -0
  1015. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/p3/tables/MANIFEST.sha256 +0 -0
  1016. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/p3/tables/p3_lookupTable_1.dat-v5.4_2momI +0 -0
  1017. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/PROVENANCE.md +0 -0
  1018. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/init.csv +0 -0
  1019. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/lsmruc.csv +0 -0
  1020. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/lsmruc_stackfill.csv +0 -0
  1021. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/qsn.csv +0 -0
  1022. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/sfctmp.csv +0 -0
  1023. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/sfctmp_prep.csv +0 -0
  1024. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/sfctmp_prep_inputs.csv +0 -0
  1025. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/sfctmp_stackfill.csv +0 -0
  1026. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/sice.csv +0 -0
  1027. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/snowseaice.csv +0 -0
  1028. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/snowseaice_contract.csv +0 -0
  1029. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/snowsoil.csv +0 -0
  1030. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/snowsoil_contract.csv +0 -0
  1031. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/snowtemp.csv +0 -0
  1032. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/snowtemp_contract.csv +0 -0
  1033. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/soil.csv +0 -0
  1034. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/soil_ingest.csv +0 -0
  1035. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/soilmoist.csv +0 -0
  1036. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/soilprop.csv +0 -0
  1037. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/soiltemp.csv +0 -0
  1038. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/soilvegin.csv +0 -0
  1039. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/step.csv +0 -0
  1040. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/tbq.csv +0 -0
  1041. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ruc/oracle/transf.csv +0 -0
  1042. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/shinhong/oracle/libmvec-report.txt +0 -0
  1043. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/shinhong/oracle/oracle-sha256sums.txt +0 -0
  1044. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/shinhong/oracle/pow-probe.txt +0 -0
  1045. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/shinhong/oracle/shinhong-levels.csv +0 -0
  1046. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/shinhong/oracle/shinhong-partition.csv +0 -0
  1047. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/shinhong/oracle/shinhong-surface.csv +0 -0
  1048. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/PROVENANCE.md +0 -0
  1049. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/derived_constants_v1.npz +0 -0
  1050. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/PROVENANCE.txt +0 -0
  1051. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-condense-nofall-column.csv +0 -0
  1052. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-condense-nofall-surface.csv +0 -0
  1053. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-condense-sed-column.csv +0 -0
  1054. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-condense-sed-surface.csv +0 -0
  1055. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-freeze-column.csv +0 -0
  1056. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-freeze-surface.csv +0 -0
  1057. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-rain-condense-nofall-column.csv +0 -0
  1058. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-rain-condense-nofall-surface.csv +0 -0
  1059. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-rain-condense-sed-column.csv +0 -0
  1060. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-rain-condense-sed-surface.csv +0 -0
  1061. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-sed-column.csv +0 -0
  1062. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cloud-sed-surface.csv +0 -0
  1063. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-cloud-overlap-column.csv +0 -0
  1064. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-cloud-overlap-surface.csv +0 -0
  1065. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-cloud-rain-overlap-column.csv +0 -0
  1066. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-cloud-rain-overlap-surface.csv +0 -0
  1067. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-full-overlap-column.csv +0 -0
  1068. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-full-overlap-surface.csv +0 -0
  1069. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-ice-rain-overlap-column.csv +0 -0
  1070. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/cold-ice-rain-overlap-surface.csv +0 -0
  1071. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/condense-column.csv +0 -0
  1072. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/condense-fall-attempt-column.csv +0 -0
  1073. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/condense-fall-attempt-surface.csv +0 -0
  1074. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/condense-surface.csv +0 -0
  1075. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/frozen-vapor-nucleation-overlap-column.csv +0 -0
  1076. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/frozen-vapor-nucleation-overlap-surface.csv +0 -0
  1077. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/frozen-vapor-overlap-column.csv +0 -0
  1078. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/frozen-vapor-overlap-surface.csv +0 -0
  1079. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-dep-column.csv +0 -0
  1080. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-dep-surface.csv +0 -0
  1081. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-melt-column.csv +0 -0
  1082. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-melt-surface.csv +0 -0
  1083. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-rime-column.csv +0 -0
  1084. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-rime-surface.csv +0 -0
  1085. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-sed-column.csv +0 -0
  1086. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-sed-surface.csv +0 -0
  1087. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-subl-column.csv +0 -0
  1088. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/graupel-subl-surface.csv +0 -0
  1089. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-auto-column.csv +0 -0
  1090. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-auto-surface.csv +0 -0
  1091. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-column.csv +0 -0
  1092. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-dep-column.csv +0 -0
  1093. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-dep-surface.csv +0 -0
  1094. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-nuc-column.csv +0 -0
  1095. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-nuc-surface.csv +0 -0
  1096. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-sed-column.csv +0 -0
  1097. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-sed-surface.csv +0 -0
  1098. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/ice-surface.csv +0 -0
  1099. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/mixed-column.csv +0 -0
  1100. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/mixed-surface.csv +0 -0
  1101. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-evap-column.csv +0 -0
  1102. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-evap-surface.csv +0 -0
  1103. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-freeze-column.csv +0 -0
  1104. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-freeze-surface.csv +0 -0
  1105. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-graupel-column.csv +0 -0
  1106. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-graupel-surface.csv +0 -0
  1107. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-ice-column.csv +0 -0
  1108. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-ice-graupel-overlap-column.csv +0 -0
  1109. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-ice-graupel-overlap-surface.csv +0 -0
  1110. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-ice-surface.csv +0 -0
  1111. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-sed-column.csv +0 -0
  1112. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-sed-surface.csv +0 -0
  1113. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-self-column.csv +0 -0
  1114. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-self-surface.csv +0 -0
  1115. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-snow-column.csv +0 -0
  1116. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-snow-graupel-overlap-column.csv +0 -0
  1117. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-snow-graupel-overlap-surface.csv +0 -0
  1118. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/rain-snow-surface.csv +0 -0
  1119. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-dep-column.csv +0 -0
  1120. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-dep-surface.csv +0 -0
  1121. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-ice-column.csv +0 -0
  1122. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-ice-surface.csv +0 -0
  1123. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-melt-column.csv +0 -0
  1124. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-melt-surface.csv +0 -0
  1125. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-rime-column.csv +0 -0
  1126. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-rime-convert-column.csv +0 -0
  1127. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-rime-convert-surface.csv +0 -0
  1128. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-rime-surface.csv +0 -0
  1129. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-sed-column.csv +0 -0
  1130. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-sed-surface.csv +0 -0
  1131. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-subl-column.csv +0 -0
  1132. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/snow-subl-surface.csv +0 -0
  1133. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-accrete-column.csv +0 -0
  1134. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-accrete-surface.csv +0 -0
  1135. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-auto-column.csv +0 -0
  1136. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-auto-surface.csv +0 -0
  1137. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-column.csv +0 -0
  1138. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-frozen-subsat-column.csv +0 -0
  1139. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-frozen-subsat-surface.csv +0 -0
  1140. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-overlap-column.csv +0 -0
  1141. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-overlap-surface.csv +0 -0
  1142. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle/warm-surface.csv +0 -0
  1143. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/PROVENANCE.txt +0 -0
  1144. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/SHA256SUMS +0 -0
  1145. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ccn-activate-column.csv +0 -0
  1146. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ccn-activate-surface.csv +0 -0
  1147. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ccn-sweep-column.csv +0 -0
  1148. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ccn-sweep-surface.csv +0 -0
  1149. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-cloud-freeze-nc-column.csv +0 -0
  1150. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-cloud-freeze-nc-surface.csv +0 -0
  1151. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-cold-overlap-column.csv +0 -0
  1152. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-cold-overlap-surface.csv +0 -0
  1153. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-drop-evap-column.csv +0 -0
  1154. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-drop-evap-surface.csv +0 -0
  1155. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-exit-temperature.csv +0 -0
  1156. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ice-demott-dep-column.csv +0 -0
  1157. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ice-demott-dep-surface.csv +0 -0
  1158. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ice-demott-idxin-column.csv +0 -0
  1159. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ice-demott-idxin-surface.csv +0 -0
  1160. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ice-koop-column.csv +0 -0
  1161. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-ice-koop-surface.csv +0 -0
  1162. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-init-profile-column.csv +0 -0
  1163. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-init-profile-surface.csv +0 -0
  1164. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-accrete-column.csv +0 -0
  1165. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-accrete-surface.csv +0 -0
  1166. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-auto-column.csv +0 -0
  1167. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-auto-surface.csv +0 -0
  1168. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-cap-column.csv +0 -0
  1169. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-cap-surface.csv +0 -0
  1170. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-effrad-column.csv +0 -0
  1171. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-effrad-surface.csv +0 -0
  1172. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-sed-column.csv +0 -0
  1173. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-nc-sed-surface.csv +0 -0
  1174. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-reduces-to-classic-column.csv +0 -0
  1175. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-reduces-to-classic-surface.csv +0 -0
  1176. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-scav-frozen-column.csv +0 -0
  1177. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-scav-frozen-surface.csv +0 -0
  1178. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-scav-rain-column.csv +0 -0
  1179. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-scav-rain-surface.csv +0 -0
  1180. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-sfc-emit-column.csv +0 -0
  1181. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-sfc-emit-surface.csv +0 -0
  1182. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-warm-overlap-column.csv +0 -0
  1183. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/aero-warm-overlap-surface.csv +0 -0
  1184. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/probe-activncloud.csv +0 -0
  1185. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/probe-effaero.csv +0 -0
  1186. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/probe-effectrad.csv +0 -0
  1187. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/probe-icedemott.csv +0 -0
  1188. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/probe-icekoop.csv +0 -0
  1189. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/tnccn_act_native.bin +0 -0
  1190. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/wp08-freeze-column.csv +0 -0
  1191. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/wp08-freeze-surface.csv +0 -0
  1192. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/wp08-melt-column.csv +0 -0
  1193. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/wp08-melt-surface.csv +0 -0
  1194. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/wp08-nusweep-column.csv +0 -0
  1195. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/thompson/oracle-aero/wp08-nusweep-surface.csv +0 -0
  1196. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/uh/oracle/compiler.txt +0 -0
  1197. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/uh/oracle/libmvec-report.txt +0 -0
  1198. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/uh/oracle/oracle-sha256sums.txt +0 -0
  1199. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/uh/oracle/uh-inputs.csv +0 -0
  1200. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/uh/oracle/uh-outputs.csv +0 -0
  1201. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/vtables/PROVENANCE.md +0 -0
  1202. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/vtables/Vtable.ERA5_CDO +0 -0
  1203. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/LICENSE-WRF.txt +0 -0
  1204. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/PROVENANCE.md +0 -0
  1205. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/RRTMG_LW_DATA +0 -0
  1206. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/RRTMG_SW_DATA +0 -0
  1207. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/RRTM_DATA +0 -0
  1208. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/module_ra_rrtm.F +0 -0
  1209. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/module_ra_sw.F +0 -0
  1210. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/ozone.formatted +0 -0
  1211. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/ozone_lat.formatted +0 -0
  1212. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/ozone_plev.formatted +0 -0
  1213. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/rrtm_lw_statics.npz +0 -0
  1214. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/rrtmg_coeffs_oracle_manifest.json +0 -0
  1215. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/wrf_radiation/rrtmg_lw_statics.npz +0 -0
  1216. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ysu/oracle/libmvec-report.txt +0 -0
  1217. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ysu/oracle/oracle-sha256sums.txt +0 -0
  1218. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ysu/oracle/ysu-levels.csv +0 -0
  1219. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data/ysu/oracle/ysu-surface.csv +0 -0
  1220. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/data_assets.py +0 -0
  1221. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/domain_interactive.py +0 -0
  1222. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/__init__.py +0 -0
  1223. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/bench.py +0 -0
  1224. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/config.py +0 -0
  1225. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/cycle.py +0 -0
  1226. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/engine.py +0 -0
  1227. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/increments.py +0 -0
  1228. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/manifest.py +0 -0
  1229. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/member.py +0 -0
  1230. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/perturbation.py +0 -0
  1231. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/seeds.py +0 -0
  1232. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/state_sha.py +0 -0
  1233. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ensemble/wrfout_inventory.py +0 -0
  1234. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/experiment.py +0 -0
  1235. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/experiment_document.py +0 -0
  1236. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/explain.py +0 -0
  1237. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/fetch.py +0 -0
  1238. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/fetch_bars.py +0 -0
  1239. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/fetch_endpoints.py +0 -0
  1240. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/fetch_guard.py +0 -0
  1241. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/fetch_pool.py +0 -0
  1242. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/fetch_routes.py +0 -0
  1243. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/first_products.py +0 -0
  1244. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/geog_assets.py +0 -0
  1245. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/go_cli.py +0 -0
  1246. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/gpu_stack_identity.py +0 -0
  1247. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/hrrr_forecast.py +0 -0
  1248. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/hrrr_native_static.py +0 -0
  1249. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/hrrr_prepared_bundle.py +0 -0
  1250. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/README.md +0 -0
  1251. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/__init__.py +0 -0
  1252. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/backend_contract.py +0 -0
  1253. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/codec.py +0 -0
  1254. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/grib.py +0 -0
  1255. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/horiz.py +0 -0
  1256. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/hrrr.py +0 -0
  1257. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/hrrr_surface.py +0 -0
  1258. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/hrrr_target.py +0 -0
  1259. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/init_perturbation.py +0 -0
  1260. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/lateral_bc.py +0 -0
  1261. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/nest_spawn_init.py +0 -0
  1262. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/preflight.py +0 -0
  1263. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/prepared_store.py +0 -0
  1264. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/preprocess_backend.py +0 -0
  1265. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/quantization.py +0 -0
  1266. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/relocation_init.py +0 -0
  1267. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/rrtmg_coeffs.py +0 -0
  1268. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/soil.py +0 -0
  1269. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/soil_downscale.py +0 -0
  1270. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/source_coverage.py +0 -0
  1271. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/vert.py +0 -0
  1272. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/water_overlay.py +0 -0
  1273. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/water_temperature.py +0 -0
  1274. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/ingest/wrf_ozone.py +0 -0
  1275. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/__init__.py +0 -0
  1276. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/classic_product.py +0 -0
  1277. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/classic_tape.py +0 -0
  1278. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/history_selection.py +0 -0
  1279. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/nc_writer_bridge.py +0 -0
  1280. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/surface_wrfout.py +0 -0
  1281. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/wrf_output_schema.py +0 -0
  1282. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/io/wrfout.py +0 -0
  1283. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/kernel_compile_notice.py +0 -0
  1284. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/local_gpu.py +0 -0
  1285. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/mapped_authoring.py +0 -0
  1286. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/mapped_composition.py +0 -0
  1287. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/mapped_engine_bridge.py +0 -0
  1288. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/member_grammar.py +0 -0
  1289. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/member_prep.py +0 -0
  1290. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/multi_run.py +0 -0
  1291. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/namelist_seal.py +0 -0
  1292. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/native_domain_artifacts.py +0 -0
  1293. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/native_hierarchy.py +0 -0
  1294. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/native_wrf_contract.py +0 -0
  1295. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/native_wrf_distribution.py +0 -0
  1296. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/native_wrf_support_v1.json +0 -0
  1297. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/nomads_governor.py +0 -0
  1298. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/__init__.py +0 -0
  1299. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/cc_qc.py +0 -0
  1300. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/cli.py +0 -0
  1301. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/coarse_cost.py +0 -0
  1302. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/coverage.py +0 -0
  1303. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/data/radar_sites_odim.json +0 -0
  1304. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/data/surface_networks.json +0 -0
  1305. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/dealias.py +0 -0
  1306. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/dealias_region.py +0 -0
  1307. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/frontdoor.py +0 -0
  1308. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/geometry.py +0 -0
  1309. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/goes_cwp.py +0 -0
  1310. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/goes_grid.py +0 -0
  1311. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/goes_pack.py +0 -0
  1312. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/grid_product.py +0 -0
  1313. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/nexrad.py +0 -0
  1314. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/obspack.py +0 -0
  1315. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/odim.py +0 -0
  1316. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/opera.py +0 -0
  1317. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/radar_grid.py +0 -0
  1318. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/radar_sites.py +0 -0
  1319. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/radar_source.py +0 -0
  1320. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/sources.py +0 -0
  1321. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/superob.py +0 -0
  1322. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/surface_networks.py +0 -0
  1323. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/sweeps.py +0 -0
  1324. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs/target_grid.py +0 -0
  1325. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/obs_regrid_bridge.py +0 -0
  1326. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/open_files.py +0 -0
  1327. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/pair_compose.py +0 -0
  1328. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/perf_timing.py +0 -0
  1329. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/physics_mode.py +0 -0
  1330. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/physics_registry.py +0 -0
  1331. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/physics_vertical_contract.py +0 -0
  1332. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/preprocess_receipt_audit.py +0 -0
  1333. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/progress.py +0 -0
  1334. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/progress_log.py +0 -0
  1335. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/provenance.py +0 -0
  1336. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/provenance_gate.py +0 -0
  1337. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/receipt_paths.py +0 -0
  1338. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/render.py +0 -0
  1339. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/render_layout.py +0 -0
  1340. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/report_bundle.py +0 -0
  1341. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/resume.py +0 -0
  1342. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/run_stamp.py +0 -0
  1343. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/runplan.py +0 -0
  1344. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/runtime_manifest.py +0 -0
  1345. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/rustwx.py +0 -0
  1346. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/rustwx_fetch.py +0 -0
  1347. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/rustwx_lanes.py +0 -0
  1348. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/rustwx_static.py +0 -0
  1349. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/science_core.py +0 -0
  1350. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/setup_cli.py +0 -0
  1351. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_adapters.py +0 -0
  1352. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_authorities.py +0 -0
  1353. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_cli.py +0 -0
  1354. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_coverage.py +0 -0
  1355. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_credentials.py +0 -0
  1356. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_cycles.py +0 -0
  1357. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_frame.py +0 -0
  1358. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/source_hierarchy.py +0 -0
  1359. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/sources_cli.py +0 -0
  1360. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/speedrun_cli.py +0 -0
  1361. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/speedrun_courses.json +0 -0
  1362. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/stage_cli.py +0 -0
  1363. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/stage_reuse.py +0 -0
  1364. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/stage_timing.py +0 -0
  1365. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/state_digest.py +0 -0
  1366. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/state_serialization_contract.py +0 -0
  1367. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/__init__.py +0 -0
  1368. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/build.py +0 -0
  1369. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/corridor.py +0 -0
  1370. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/geog.py +0 -0
  1371. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/geog_stack.py +0 -0
  1372. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/highres.py +0 -0
  1373. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/highres_fetch.py +0 -0
  1374. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/highres_production.py +0 -0
  1375. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/highres_refusal.py +0 -0
  1376. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/lambert.py +0 -0
  1377. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/projection.py +0 -0
  1378. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/static/rust_bridge.py +0 -0
  1379. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/stream.py +0 -0
  1380. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/supervisor.py +0 -0
  1381. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/twentycrv3_direct.py +0 -0
  1382. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/twentycrv3_wrf.py +0 -0
  1383. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/update_cli.py +0 -0
  1384. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/__init__.py +0 -0
  1385. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/__init__.py +0 -0
  1386. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/_repo_config.py +0 -0
  1387. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/cbl_dry.py +0 -0
  1388. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/cloud_topped_boundary_layer.py +0 -0
  1389. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/convective_boundary_layer.py +0 -0
  1390. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/gabls1.py +0 -0
  1391. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/hill2d.py +0 -0
  1392. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/igw.py +0 -0
  1393. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/les_tornado_dodgecity_20160524.py +0 -0
  1394. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/les_tornado_mayfield_20211210.py +0 -0
  1395. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/moist_bubble.py +0 -0
  1396. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/nest_ideal_common.py +0 -0
  1397. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/nest_ideal_r1_moist.py +0 -0
  1398. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/nest_ideal_r3.py +0 -0
  1399. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/nest_null_r1.py +0 -0
  1400. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/nest_spawn_ideal.py +0 -0
  1401. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/real74_chain.py +0 -0
  1402. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/real74_d02.py +0 -0
  1403. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/real74_n5b.py +0 -0
  1404. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/straka.py +0 -0
  1405. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/cases/wk82.py +0 -0
  1406. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/chaos_envelope.py +0 -0
  1407. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/conservation_closure.py +0 -0
  1408. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/draw_spread.py +0 -0
  1409. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/feedback_reference.py +0 -0
  1410. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/field_metrics.py +0 -0
  1411. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gf_deep_body.py +0 -0
  1412. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gf_deep_ref.py +0 -0
  1413. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gf_driver.py +0 -0
  1414. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gf_oracle.py +0 -0
  1415. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gf_ref.py +0 -0
  1416. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gf_shallow_ref.py +0 -0
  1417. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/gray_zone.py +0 -0
  1418. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/metrics.py +0 -0
  1419. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/myj_ref.py +0 -0
  1420. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/n5s_common.py +0 -0
  1421. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/n5s_metrics.py +0 -0
  1422. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/nest_gates.py +0 -0
  1423. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/noah_oracle.py +0 -0
  1424. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/__init__.py +0 -0
  1425. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/battery.py +0 -0
  1426. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/contingency.py +0 -0
  1427. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/contracts.py +0 -0
  1428. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/controls.py +0 -0
  1429. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/cross_reader.py +0 -0
  1430. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/fss.py +0 -0
  1431. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/model_source.py +0 -0
  1432. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/promotion.py +0 -0
  1433. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/registration.py +0 -0
  1434. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/regrid.py +0 -0
  1435. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/stations.py +0 -0
  1436. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/stubs.py +0 -0
  1437. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/obs/t0_parity.py +0 -0
  1438. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/profiles.py +0 -0
  1439. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/sase_ref.py +0 -0
  1440. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/shinhong_oracle.py +0 -0
  1441. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/shinhong_ref.py +0 -0
  1442. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/spectral.py +0 -0
  1443. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/spectral_cli.py +0 -0
  1444. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/spectral_compare.py +0 -0
  1445. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/spectral_io.py +0 -0
  1446. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/spectral_plot.py +0 -0
  1447. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/spectral_receipt.py +0 -0
  1448. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/state_equiv.py +0 -0
  1449. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/t0_state_digest.py +0 -0
  1450. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/verify/ysu_oracle.py +0 -0
  1451. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/version_cli.py +0 -0
  1452. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/vertical_contract.py +0 -0
  1453. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/whats_changed.py +0 -0
  1454. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/wrf461_compatibility.py +0 -0
  1455. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/wrf_backend_parity.py +0 -0
  1456. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm/wrf_direct_v461_contract.json +0 -0
  1457. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm.egg-info/dependency_links.txt +0 -0
  1458. {gpuwm-2.5.7 → gpuwm-2.6.0}/gpuwm.egg-info/entry_points.txt +0 -0
  1459. {gpuwm-2.5.7 → gpuwm-2.6.0}/setup.cfg +0 -0
  1460. {gpuwm-2.5.7 → gpuwm-2.6.0}/setup.py +0 -0
  1461. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_acceptance_band.py +0 -0
  1462. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_acoustic.py +0 -0
  1463. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_acoustic_nz_tiers.py +0 -0
  1464. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_acquisition_codec.py +0 -0
  1465. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_adapt.py +0 -0
  1466. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_adapt_docs_flag_parity.py +0 -0
  1467. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_adapt_netcdf.py +0 -0
  1468. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_advection.py +0 -0
  1469. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_aigefs_member_hybrid_real_bytes.py +0 -0
  1470. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_aigfs_hybrid_profile.py +0 -0
  1471. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_aigfs_profile.py +0 -0
  1472. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_anisotropic_mixing_advisory.py +0 -0
  1473. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_anisotropic_mixing_w_stability.py +0 -0
  1474. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_arbitrary_vertical_gpu.py +0 -0
  1475. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_author_source_profile.py +0 -0
  1476. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_authority_agreement.py +0 -0
  1477. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_battery_route.py +0 -0
  1478. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_benchmark_seeded_step.py +0 -0
  1479. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_boundary_strata.py +0 -0
  1480. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_branch_from_checkpoint.py +0 -0
  1481. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_bridge_bundle_adopt.py +0 -0
  1482. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_bridge_fetch.py +0 -0
  1483. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_build_failure_refusals.py +0 -0
  1484. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_canonical_scope.py +0 -0
  1485. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cargo_gate_manifest.py +0 -0
  1486. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_cbl_dry.py +0 -0
  1487. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_data.py +0 -0
  1488. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_data_refusal_remedy.py +0 -0
  1489. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_data_unknown_keys_refuse.py +0 -0
  1490. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_gabls1.py +0 -0
  1491. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_hill2d.py +0 -0
  1492. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_igw.py +0 -0
  1493. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_registry.py +0 -0
  1494. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_straka.py +0 -0
  1495. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_token_leakage.py +0 -0
  1496. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_case_wk82.py +0 -0
  1497. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cc_qc.py +0 -0
  1498. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_certification_capsule.py +0 -0
  1499. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_certify_compile_platform.py +0 -0
  1500. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_certify_hygiene.py +0 -0
  1501. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_certify_reachability.py +0 -0
  1502. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_certify_verdict.py +0 -0
  1503. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_chain_deep_ladder.py +0 -0
  1504. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_chain_stage_env.py +0 -0
  1505. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_chaos_envelope.py +0 -0
  1506. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_checkpoint_route_contract.py +0 -0
  1507. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ci_test_replay.py +0 -0
  1508. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_classic_tape.py +0 -0
  1509. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cli.py +0 -0
  1510. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cli_capability_refusals.py +0 -0
  1511. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_clock.py +0 -0
  1512. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cloud_radiation_seams.py +0 -0
  1513. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_companion_distribution.py +0 -0
  1514. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_composition_pricing.py +0 -0
  1515. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_config.py +0 -0
  1516. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_configs_are_packaged.py +0 -0
  1517. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_conservation_receipt.py +0 -0
  1518. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_constants.py +0 -0
  1519. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_coriolis_map.py +0 -0
  1520. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_correctly_rounded_libm.py +0 -0
  1521. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cross_source_composition.py +0 -0
  1522. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cross_source_real_bytes.py +0 -0
  1523. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_cross_source_sim_stage.py +0 -0
  1524. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_background.py +0 -0
  1525. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_background_ab.py +0 -0
  1526. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_cadence.py +0 -0
  1527. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_clear_air.py +0 -0
  1528. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_cycle_prepared.py +0 -0
  1529. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_ensemble_state.py +0 -0
  1530. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_hotstart.py +0 -0
  1531. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_moments.py +0 -0
  1532. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nested_forecast.py +0 -0
  1533. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nested_forecast_gpu.py +0 -0
  1534. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nowcast.py +0 -0
  1535. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nowcast_auto.py +0 -0
  1536. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nowcast_launcher.py +0 -0
  1537. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nowcast_measured_defaults.py +0 -0
  1538. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nowcast_presets.py +0 -0
  1539. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_nowcast_render_nest.py +0 -0
  1540. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_obs_surface.py +0 -0
  1541. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_obsop.py +0 -0
  1542. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_obsop_nssl_gpu.py +0 -0
  1543. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_obsop_thompson_gpu.py +0 -0
  1544. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_perturb.py +0 -0
  1545. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_perturb_hardening.py +0 -0
  1546. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_scorecard.py +0 -0
  1547. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_solve_ab.py +0 -0
  1548. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_sweep.py +0 -0
  1549. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_da_treatment.py +0 -0
  1550. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_davies_clock_bind.py +0 -0
  1551. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_delayed_nest_activation.py +0 -0
  1552. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_diagnostics.py +0 -0
  1553. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_diff6.py +0 -0
  1554. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_diff6_boundary_face.py +0 -0
  1555. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_diffusion.py +0 -0
  1556. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_docs_extras_agree_with_code.py +0 -0
  1557. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_doctor_cuda_headers.py +0 -0
  1558. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_doctor_da_eigensolver.py +0 -0
  1559. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_doctor_extras.py +0 -0
  1560. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_doctor_route_honesty.py +0 -0
  1561. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_doctor_truth.py +0 -0
  1562. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_documented_source_spellings.py +0 -0
  1563. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_domain_interactive.py +0 -0
  1564. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_domain_polygon.py +0 -0
  1565. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_domain_wizard_budget_monotonic.py +0 -0
  1566. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_download_hrrr_native_subset.py +0 -0
  1567. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_downward_longwave_source.py +0 -0
  1568. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_dual_run_screen.py +0 -0
  1569. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_dualrun_certify.py +0 -0
  1570. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_dycore_advective_forcing_export.py +0 -0
  1571. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_dycore_full.py +0 -0
  1572. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_dynamics_key_validation.py +0 -0
  1573. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_easy_physics_integration.py +0 -0
  1574. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_enprod.py +0 -0
  1575. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_enprod_hardening.py +0 -0
  1576. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ensemble_engine.py +0 -0
  1577. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ensemble_hardening.py +0 -0
  1578. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ensemble_tiny_domain_gpu.py +0 -0
  1579. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_era5_direct.py +0 -0
  1580. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_era5_grib.py +0 -0
  1581. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_era5_model_level_route.py +0 -0
  1582. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_evidence_axes.py +0 -0
  1583. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_expected_pace.py +0 -0
  1584. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_experiment.py +0 -0
  1585. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_explain_layering.py +0 -0
  1586. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_feedback.py +0 -0
  1587. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_feedback_reference_pair.py +0 -0
  1588. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_feedback_signature.py +0 -0
  1589. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_feedback_smoother.py +0 -0
  1590. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch.py +0 -0
  1591. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_analysis_first.py +0 -0
  1592. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_endpoints.py +0 -0
  1593. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_engine_degrade_guard.py +0 -0
  1594. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_gdas.py +0 -0
  1595. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_geog.py +0 -0
  1596. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_guard.py +0 -0
  1597. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_hardening.py +0 -0
  1598. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_pool.py +0 -0
  1599. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_routes.py +0 -0
  1600. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_routes_live.py +0 -0
  1601. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_rust_backbone.py +0 -0
  1602. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fetch_visibility.py +0 -0
  1603. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_field_metrics.py +0 -0
  1604. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_first_products.py +0 -0
  1605. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_first_products_prepared.py +0 -0
  1606. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_flagship_tools.py +0 -0
  1607. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_fp32_tie_folding_gpu.py +0 -0
  1608. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_frame_header_portable.py +0 -0
  1609. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ftz_claim_consistency.py +0 -0
  1610. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ftz_device_identity.py +0 -0
  1611. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ftz_render.py +0 -0
  1612. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ftz_route_inventory.py +0 -0
  1613. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gdas_pgrb2_profile.py +0 -0
  1614. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gefs_member_profile.py +0 -0
  1615. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_geog_coverage_mask_vectorization.py +0 -0
  1616. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_deep_cuda.py +0 -0
  1617. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_deep_parity.py +0 -0
  1618. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_driver_parity.py +0 -0
  1619. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_engine_smoke.py +0 -0
  1620. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_gfdrv_cuda.py +0 -0
  1621. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_pbl_forcing_lanes.py +0 -0
  1622. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_shallow_cuda.py +0 -0
  1623. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_shallow_parity.py +0 -0
  1624. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_workspace.py +0 -0
  1625. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gf_wrf461_parity.py +0 -0
  1626. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gfs_direct.py +0 -0
  1627. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gfs_levels.py +0 -0
  1628. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gfs_native_subset_download.py +0 -0
  1629. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gfs_scan_order.py +0 -0
  1630. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_go_chain.py +0 -0
  1631. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_go_chain_events.py +0 -0
  1632. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_goes_assimilation.py +0 -0
  1633. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_goes_cwp.py +0 -0
  1634. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_goes_pack_crosslane.py +0 -0
  1635. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gpu_mem_watch.py +0 -0
  1636. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gpu_shard_manifest.py +0 -0
  1637. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gpu_stack_identity.py +0 -0
  1638. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_gray_zone.py +0 -0
  1639. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_grayzone_nest_config.py +0 -0
  1640. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_grayzone_p4_score.py +0 -0
  1641. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_grib2_regular_scan_modes.py +0 -0
  1642. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_grib_core_convergence.py +0 -0
  1643. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_grid.py +0 -0
  1644. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_h_diabatic.py +0 -0
  1645. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hdf5_reader_convergence.py +0 -0
  1646. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_health.py +0 -0
  1647. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_health_field_census.py +0 -0
  1648. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_health_theta_lid.py +0 -0
  1649. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hierarchy_ack_threading.py +0 -0
  1650. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_high_terrain_vertical_coordinate.py +0 -0
  1651. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_highres_geog.py +0 -0
  1652. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_highres_geog_stack_refusal.py +0 -0
  1653. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_history_selection.py +0 -0
  1654. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_horiz.py +0 -0
  1655. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hoststore_budget_guard.py +0 -0
  1656. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_cycle_flag.py +0 -0
  1657. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_domain_cli.py +0 -0
  1658. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_forecast.py +0 -0
  1659. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_ingest.py +0 -0
  1660. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_native_static.py +0 -0
  1661. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_pipeline.py +0 -0
  1662. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_pipeline_full_filesystem.py +0 -0
  1663. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_prepared_background.py +0 -0
  1664. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_projected_operator.py +0 -0
  1665. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_route_downward_longwave.py +0 -0
  1666. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_state_proof.py +0 -0
  1667. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_statics_corridor.py +0 -0
  1668. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_stock_wrf_acceptance.py +0 -0
  1669. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_target.py +0 -0
  1670. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_two_domain_forecast.py +0 -0
  1671. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_vertical_disposition.py +0 -0
  1672. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hrrr_wizard_door.py +0 -0
  1673. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hybrid_grid.py +0 -0
  1674. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_hypsometric.py +0 -0
  1675. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_import.py +0 -0
  1676. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_inflow_fetch_meter.py +0 -0
  1677. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_inflow_perturbation.py +0 -0
  1678. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ingest_preflight.py +0 -0
  1679. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ingest_prepare_ordering.py +0 -0
  1680. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_initial_perturbation.py +0 -0
  1681. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_interrupt_contract.py +0 -0
  1682. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_io_boundary_hardening.py +0 -0
  1683. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_jacobi_eigh_gpu.py +0 -0
  1684. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kernel_compile_notice.py +0 -0
  1685. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kernel_frame_recordings.py +0 -0
  1686. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kernel_loader_inert.py +0 -0
  1687. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kernel_local_bounds.py +0 -0
  1688. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kernel_manifest.py +0 -0
  1689. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kernels_infra.py +0 -0
  1690. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kessler.py +0 -0
  1691. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kf.py +0 -0
  1692. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kf_morrison_interface.py +0 -0
  1693. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_kf_workspace.py +0 -0
  1694. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_lambert.py +0 -0
  1695. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_landuse.py +0 -0
  1696. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_lane_k_knobs.py +0 -0
  1697. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_lateral_bc.py +0 -0
  1698. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_draw_spread.py +0 -0
  1699. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_mixing_autoswitch.py +0 -0
  1700. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_mixing_default.py +0 -0
  1701. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_moist_instrument.py +0 -0
  1702. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_moist_n2_mutation.py +0 -0
  1703. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_receipt_fields.py +0 -0
  1704. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_les_tornado_attempt1_config.py +0 -0
  1705. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_letkf.py +0 -0
  1706. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_letkf_chunk_sizing.py +0 -0
  1707. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_letkf_chunk_sizing_gpu.py +0 -0
  1708. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_letkf_eigensolver.py +0 -0
  1709. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_letkf_osse.py +0 -0
  1710. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_lifecycle_restart_identity.py +0 -0
  1711. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_authoring.py +0 -0
  1712. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_compose_tool_forwarding.py +0 -0
  1713. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_composition.py +0 -0
  1714. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_frameset_streaming.py +0 -0
  1715. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_hybrid_vertical.py +0 -0
  1716. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_invariant_and_landmask.py +0 -0
  1717. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_mass_closure.py +0 -0
  1718. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_multifile_netcdf.py +0 -0
  1719. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_netcdf_cf.py +0 -0
  1720. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_netcdf_identity.py +0 -0
  1721. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_projected_grid.py +0 -0
  1722. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_source.py +0 -0
  1723. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mapped_time_invariants.py +0 -0
  1724. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_may1999_smoke.py +0 -0
  1725. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_measure_fetch_concurrency.py +0 -0
  1726. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_member_grammar.py +0 -0
  1727. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_member_identity_real_bytes.py +0 -0
  1728. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_member_prep.py +0 -0
  1729. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_milbrandt2.py +0 -0
  1730. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_milbrandt2_contract.py +0 -0
  1731. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_model.py +0 -0
  1732. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_model_skeleton.py +0 -0
  1733. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_module_skip_placement.py +0 -0
  1734. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_moist.py +0 -0
  1735. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_morr_rimed_ice.py +0 -0
  1736. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_morrison.py +0 -0
  1737. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_morrison_wrf461_parity.py +0 -0
  1738. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mp28_forecast_smoke.py +0 -0
  1739. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mp28_matched_trajectory_doc.py +0 -0
  1740. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mp28_shortwindow_gate_doc.py +0 -0
  1741. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mp_accepted_builds.py +0 -0
  1742. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mp_spec_zone_ring.py +0 -0
  1743. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mpas_column_batch.py +0 -0
  1744. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mpas_column_batch_gpu.py +0 -0
  1745. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mpas_render_bridge_demotion.py +0 -0
  1746. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mslp_terrain.py +0 -0
  1747. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_multi_run.py +0 -0
  1748. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_multigpu_forced_gpu.py +0 -0
  1749. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_multigpu_specified_bc.py +0 -0
  1750. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_myj_port.py +0 -0
  1751. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_front_door_reachability.py +0 -0
  1752. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_noah_surface_identity.py +0 -0
  1753. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_pbl_driver_gpu.py +0 -0
  1754. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_pbl_runtime.py +0 -0
  1755. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_pbl_scratch.py +0 -0
  1756. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_radiation_profiles.py +0 -0
  1757. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface.py +0 -0
  1758. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_coarse.py +0 -0
  1759. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_driver_gpu.py +0 -0
  1760. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_gpu.py +0 -0
  1761. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_pairing_integration.py +0 -0
  1762. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_pairing_ownership.py +0 -0
  1763. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_water.py +0 -0
  1764. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_mynn_surface_water_gpu.py +0 -0
  1765. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_n15_producer.py +0 -0
  1766. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_namelist_seal.py +0 -0
  1767. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_native_domain_artifacts.py +0 -0
  1768. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_native_hierarchy.py +0 -0
  1769. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_native_wrf_contract.py +0 -0
  1770. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_native_wrf_distribution.py +0 -0
  1771. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nc_writer_bridge.py +0 -0
  1772. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_negation_invariant.py +0 -0
  1773. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_coupler.py +0 -0
  1774. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_gates.py +0 -0
  1775. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_init.py +0 -0
  1776. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_interp.py +0 -0
  1777. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_lifecycle.py +0 -0
  1778. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_lifecycle_runtime.py +0 -0
  1779. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_offcentre.py +0 -0
  1780. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_relocation.py +0 -0
  1781. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_relocation_staging.py +0 -0
  1782. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_rungs.py +0 -0
  1783. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_spawn.py +0 -0
  1784. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_spawn_init.py +0 -0
  1785. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_spawn_pressure.py +0 -0
  1786. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nest_spawn_soil.py +0 -0
  1787. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_netcdf_rust_only.py +0 -0
  1788. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_netcdf_rust_only_sweep.py +0 -0
  1789. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_no_local_gpu_contract.py +0 -0
  1790. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noah.py +0 -0
  1791. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noah_wrf461_parity.py +0 -0
  1792. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp.py +0 -0
  1793. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_bareflux.py +0 -0
  1794. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_bareflux_cuda.py +0 -0
  1795. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_cold_start_device.py +0 -0
  1796. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_column_slab.py +0 -0
  1797. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_device_column_cost.py +0 -0
  1798. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_device_wiring.py +0 -0
  1799. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_driver.py +0 -0
  1800. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_driver_cuda.py +0 -0
  1801. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_energy.py +0 -0
  1802. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_energy_cuda.py +0 -0
  1803. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_energy_slab.py +0 -0
  1804. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_flux_slab.py +0 -0
  1805. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_fluxprep.py +0 -0
  1806. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_glacier.py +0 -0
  1807. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_glacier_gpu.py +0 -0
  1808. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_kernel_source_scans.py +0 -0
  1809. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_kernel_sources.py +0 -0
  1810. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_kernel_subnormals.py +0 -0
  1811. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_kernel_symbol_duplication.py +0 -0
  1812. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_leaf_batches_cuda.py +0 -0
  1813. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_mynn_contract.py +0 -0
  1814. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_oracle.py +0 -0
  1815. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_oracle_harness.py +0 -0
  1816. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_radiation.py +0 -0
  1817. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_radiation_cuda.py +0 -0
  1818. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_runtime.py +0 -0
  1819. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_sflx.py +0 -0
  1820. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_sflx_cuda.py +0 -0
  1821. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_sflx_post_slab.py +0 -0
  1822. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_sflx_pre_batch_cuda.py +0 -0
  1823. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_sflx_pre_slab.py +0 -0
  1824. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_slab_libm.py +0 -0
  1825. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_snow.py +0 -0
  1826. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_snow_cuda.py +0 -0
  1827. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_soilwater.py +0 -0
  1828. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_soilwater_cuda.py +0 -0
  1829. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_surface_interval.py +0 -0
  1830. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_thermal.py +0 -0
  1831. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_thermal_slab.py +0 -0
  1832. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_vegeflux.py +0 -0
  1833. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_vegeflux_cuda.py +0 -0
  1834. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_vegprecip.py +0 -0
  1835. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_vegprecip_cuda.py +0 -0
  1836. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_vegtype_bounds.py +0 -0
  1837. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_water.py +0 -0
  1838. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_water_cuda.py +0 -0
  1839. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_water_sflx_crosscheck.py +0 -0
  1840. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_noahmp_water_slab.py +0 -0
  1841. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nocturnal_radiation_guard.py +0 -0
  1842. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nomads_governor.py +0 -0
  1843. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_composed_replay.py +0 -0
  1844. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_contract.py +0 -0
  1845. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_default_hooks.py +0 -0
  1846. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_driver_support.py +0 -0
  1847. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_fused_gs.py +0 -0
  1848. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_fused_gs_oracle_data.py +0 -0
  1849. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_gpu.py +0 -0
  1850. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_nucond_diagnostics.py +0 -0
  1851. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_production_coordinator.py +0 -0
  1852. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_qvexcess.py +0 -0
  1853. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_runtime.py +0 -0
  1854. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_selector.py +0 -0
  1855. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_variants.py +0 -0
  1856. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_nssl2_variants_gpu.py +0 -0
  1857. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_battery.py +0 -0
  1858. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_battery_ingest.py +0 -0
  1859. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_battery_score_cli.py +0 -0
  1860. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_cli_frontdoor.py +0 -0
  1861. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_contracts_stubs.py +0 -0
  1862. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_controls.py +0 -0
  1863. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_coverage.py +0 -0
  1864. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_cross_reader.py +0 -0
  1865. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_dealias.py +0 -0
  1866. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_dealias_region.py +0 -0
  1867. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_front_doors_are_shipped.py +0 -0
  1868. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_fss.py +0 -0
  1869. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_grid_writer.py +0 -0
  1870. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_model_source.py +0 -0
  1871. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_nexrad.py +0 -0
  1872. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_opera.py +0 -0
  1873. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_promotion.py +0 -0
  1874. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_radar_geometry.py +0 -0
  1875. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_radar_grid.py +0 -0
  1876. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_radar_grid_build_multi.py +0 -0
  1877. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_radar_sites.py +0 -0
  1878. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_radar_source.py +0 -0
  1879. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_regrid_rust_parity.py +0 -0
  1880. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_stations.py +0 -0
  1881. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_superob_odim.py +0 -0
  1882. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_surface_networks.py +0 -0
  1883. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_sweeps_odim_v3.py +0 -0
  1884. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obs_t0_parity.py +0 -0
  1885. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_obsop_cwp.py +0 -0
  1886. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_offline_child_tiles.py +0 -0
  1887. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_open_files.py +0 -0
  1888. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_open_water_longwave_invariant.py +0 -0
  1889. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_openbc.py +0 -0
  1890. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_output_history_config.py +0 -0
  1891. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_packaged_source_profiles.py +0 -0
  1892. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_parameter_claim_gate.py +0 -0
  1893. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_parent_sint_positive_definite.py +0 -0
  1894. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_parity_sweep_logging.py +0 -0
  1895. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_pbl_vertical_bounds.py +0 -0
  1896. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_pending_composition_grammar.py +0 -0
  1897. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_perf_dycore_cpu.py +0 -0
  1898. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_perf_timing.py +0 -0
  1899. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_periodic_face_identity.py +0 -0
  1900. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics.py +0 -0
  1901. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_composition_walk.py +0 -0
  1902. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_coupling_ring.py +0 -0
  1903. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_driver.py +0 -0
  1904. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_md_reachability_claims.py +0 -0
  1905. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_menu.py +0 -0
  1906. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_mode.py +0 -0
  1907. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_registry_composition.py +0 -0
  1908. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_registry_declarations.py +0 -0
  1909. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_physics_vertical_preflight.py +0 -0
  1910. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_pip_install_reachability.py +0 -0
  1911. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_pool_trim.py +0 -0
  1912. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_preflight_orography_rust_only.py +0 -0
  1913. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_prep_door_refusals.py +0 -0
  1914. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_prep_tool_ladder.py +0 -0
  1915. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_prepare_hrrr_wrf.py +0 -0
  1916. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_prepared_domain_tree_forecast.py +0 -0
  1917. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_prepared_single_domain_forecast.py +0 -0
  1918. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_preprocess_backend_default_reach.py +0 -0
  1919. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_preprocess_cpu_backend.py +0 -0
  1920. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_preserved_input_manifest.py +0 -0
  1921. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_prime_meridian_seam.py +0 -0
  1922. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_profiles.py +0 -0
  1923. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_progress_log.py +0 -0
  1924. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_progress_publication_tolerates_readers.py +0 -0
  1925. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_projection_oracle.py +0 -0
  1926. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_provenance.py +0 -0
  1927. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_provenance_gate.py +0 -0
  1928. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_provenance_wire.py +0 -0
  1929. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ptop_default.py +0 -0
  1930. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_public_claim_backing.py +0 -0
  1931. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_publish_dist_shape_agreement.py +0 -0
  1932. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_publish_workflow_state_machine.py +0 -0
  1933. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_radar_assimilation.py +0 -0
  1934. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_radiation_callable_manifest.py +0 -0
  1935. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_radiation_off_land_surface_guard.py +0 -0
  1936. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rap_awip32_profile.py +0 -0
  1937. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_reachability_refusals.py +0 -0
  1938. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_real74_n5b.py +0 -0
  1939. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_real74_nssl2_500m_comparator.py +0 -0
  1940. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_real74_nssl2_500m_runner.py +0 -0
  1941. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_real74_nssl2_500m_uploader.py +0 -0
  1942. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_real74_rungs.py +0 -0
  1943. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_real74_wrfinput_mass_gate.py +0 -0
  1944. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_receipt_paths.py +0 -0
  1945. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_registry_reachability.py +0 -0
  1946. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_release_notes_are_public_facing.py +0 -0
  1947. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_release_snapshot_front_door.py +0 -0
  1948. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_release_snapshot_machine_paths.py +0 -0
  1949. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_release_snapshot_modes.py +0 -0
  1950. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_release_version_declaration.py +0 -0
  1951. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_ledger_audit.py +0 -0
  1952. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_physics_continuation.py +0 -0
  1953. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_radiation_carriers.py +0 -0
  1954. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_real_init.py +0 -0
  1955. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_refusal_audit.py +0 -0
  1956. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_runner.py +0 -0
  1957. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_track_config.py +0 -0
  1958. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_relocation_track_runner.py +0 -0
  1959. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render.py +0 -0
  1960. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_basemap_delivery.py +0 -0
  1961. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_extra_python_ceiling.py +0 -0
  1962. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_history_selection.py +0 -0
  1963. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_law_second_fallback.py +0 -0
  1964. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_layout.py +0 -0
  1965. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_pyshp_front_door.py +0 -0
  1966. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_rust.py +0 -0
  1967. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_render_scratch_outside_delivery.py +0 -0
  1968. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_report_bundle.py +0 -0
  1969. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_resolved_scale_receipt.py +0 -0
  1970. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_restart_across_move.py +0 -0
  1971. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_resume.py +0 -0
  1972. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrfs_prslev_2dfld_profile.py +0 -0
  1973. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtm_longwave.py +0 -0
  1974. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_chunk_narrow.py +0 -0
  1975. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_coeffs.py +0 -0
  1976. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_legacy_forecast.py +0 -0
  1977. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_legacy_ozone_guard.py +0 -0
  1978. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_legacy_prep.py +0 -0
  1979. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_legacy_selection.py +0 -0
  1980. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_legacy_wiring.py +0 -0
  1981. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_lw_cuda.py +0 -0
  1982. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_lw_numpy.py +0 -0
  1983. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_mcica.py +0 -0
  1984. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_mcica_overlap_boundary.py +0 -0
  1985. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_sw_cuda.py +0 -0
  1986. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_sw_oracle.py +0 -0
  1987. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rrtmg_sw_rn_identity.py +0 -0
  1988. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ruc_device_column.py +0 -0
  1989. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ruc_shoreline_soil_category.py +0 -0
  1990. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ruc_soil_ingest.py +0 -0
  1991. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_run_finalization_progress.py +0 -0
  1992. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_run_stamp.py +0 -0
  1993. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runplan_corridor.py +0 -0
  1994. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runplan_hrrr_tree.py +0 -0
  1995. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runplan_retry.py +0 -0
  1996. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runplan_tiles.py +0 -0
  1997. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runplan_tree.py +0 -0
  1998. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runtime_identity_stability.py +0 -0
  1999. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_runtime_manifest.py +0 -0
  2000. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_rustwx_lanes.py +0 -0
  2001. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_sase.py +0 -0
  2002. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_sase_gpu.py +0 -0
  2003. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_sdist_excludes_staged_bridges.py +0 -0
  2004. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_seal_wrf_direct_proof.py +0 -0
  2005. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_sfclay.py +0 -0
  2006. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_shinhong_composed_tke_guard.py +0 -0
  2007. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_shinhong_entry_floor.py +0 -0
  2008. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_shinhong_runtime.py +0 -0
  2009. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_shinhong_wrf461_parity.py +0 -0
  2010. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_shipped_acknowledgement_justifications.py +0 -0
  2011. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_shipped_configs_mixing_stability.py +0 -0
  2012. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_smag2d.py +0 -0
  2013. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_smag2d_wrf_host.py +0 -0
  2014. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_smag3d.py +0 -0
  2015. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_small_step_lateral_wrap.py +0 -0
  2016. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_soil_contract.py +0 -0
  2017. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_soil_downscale.py +0 -0
  2018. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_soil_indexed_layer_binding.py +0 -0
  2019. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_soil_node_contract.py +0 -0
  2020. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_soil_reconciler_evidence.py +0 -0
  2021. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_soil_smcdry_floor.py +0 -0
  2022. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_source_adapters.py +0 -0
  2023. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_source_coverage_refusal.py +0 -0
  2024. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_source_hierarchy.py +0 -0
  2025. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_source_quantization.py +0 -0
  2026. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_source_registry_columns.py +0 -0
  2027. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_sources_command.py +0 -0
  2028. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spawn_activation_epoch.py +0 -0
  2029. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spawn_route_governance.py +0 -0
  2030. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spawn_runner.py +0 -0
  2031. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spawn_runner_endurance.py +0 -0
  2032. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spawn_streaming.py +0 -0
  2033. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spectral.py +0 -0
  2034. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spectral_compare_v2.py +0 -0
  2035. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spectral_io_rust_only.py +0 -0
  2036. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spectral_pins_backlog.py +0 -0
  2037. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_spectral_receipt_v2.py +0 -0
  2038. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_speedrun.py +0 -0
  2039. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_sr_expression_family.py +0 -0
  2040. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_stage1_manifest.py +0 -0
  2041. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_stage_seams.py +0 -0
  2042. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_state_equiv.py +0 -0
  2043. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_build.py +0 -0
  2044. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_highres_international.py +0 -0
  2045. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_highres_production.py +0 -0
  2046. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_highres_warp_routing.py +0 -0
  2047. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_needs_no_met_inputs.py +0 -0
  2048. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_rust_parity.py +0 -0
  2049. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_static_window_seam_invariance.py +0 -0
  2050. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_statics_corridor.py +0 -0
  2051. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_store_health_gate.py +0 -0
  2052. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_track_output_levels.py +0 -0
  2053. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_track_writer.py +0 -0
  2054. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking.py +0 -0
  2055. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking_exactness.py +0 -0
  2056. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking_fixedpoint.py +0 -0
  2057. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking_locate.py +0 -0
  2058. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking_radius.py +0 -0
  2059. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking_refinement.py +0 -0
  2060. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_storm_tracking_window.py +0 -0
  2061. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_stream.py +0 -0
  2062. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_stream_init.py +0 -0
  2063. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streamed_admission.py +0 -0
  2064. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streamed_carrier_freshness.py +0 -0
  2065. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streamed_child.py +0 -0
  2066. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streamed_frame_parity.py +0 -0
  2067. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streaming.py +0 -0
  2068. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streaming_clock_arming.py +0 -0
  2069. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streaming_clock_bind.py +0 -0
  2070. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_streaming_scheme_matrix.py +0 -0
  2071. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_supervisor.py +0 -0
  2072. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_support_matrix_cross_check.py +0 -0
  2073. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_surface_certified_identity.py +0 -0
  2074. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_surface_forcing_couplings.py +0 -0
  2075. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_surface_moisture_diagnostic.py +0 -0
  2076. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_surface_moisture_ledger.py +0 -0
  2077. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_t0_state_digest.py +0 -0
  2078. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_table_fetch.py +0 -0
  2079. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_terrain_dynamics.py +0 -0
  2080. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_terrain_init.py +0 -0
  2081. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_terrain_supplement_time_alignment.py +0 -0
  2082. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_adapter_composition.py +0 -0
  2083. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_adapter.py +0 -0
  2084. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_cold_gpu.py +0 -0
  2085. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_contract.py +0 -0
  2086. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_device_helpers.py +0 -0
  2087. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_gpu.py +0 -0
  2088. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_oracle_provenance.py +0 -0
  2089. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_sat_gpu.py +0 -0
  2090. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_sed_gpu.py +0 -0
  2091. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_state_gpu.py +0 -0
  2092. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_aerosol_warm_gpu.py +0 -0
  2093. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_contract.py +0 -0
  2094. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_gpu.py +0 -0
  2095. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_thompson_oracle_provenance.py +0 -0
  2096. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_distribution.py +0 -0
  2097. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_door_legs.py +0 -0
  2098. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_gate_manifest.py +0 -0
  2099. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_gate_preconditions.py +0 -0
  2100. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_harness_carriers.py +0 -0
  2101. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_harness_glw.py +0 -0
  2102. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tiles_water_route.py +0 -0
  2103. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tke_budget.py +0 -0
  2104. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_tke_km2.py +0 -0
  2105. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_twentycrv3_direct.py +0 -0
  2106. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_uh_lifecycle.py +0 -0
  2107. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_uh_wrf461_parity.py +0 -0
  2108. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_update_cli.py +0 -0
  2109. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ux_cli_polish.py +0 -0
  2110. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ux_output_integrity.py +0 -0
  2111. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ux_refusal_design.py +0 -0
  2112. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_v12_integration.py +0 -0
  2113. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_v131_cross_lane.py +0 -0
  2114. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_vendored_cargo_registry.py +0 -0
  2115. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_verification_recipe_flags.py +0 -0
  2116. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_verify_release_artifacts.py +0 -0
  2117. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_verify_source_bridge_pins.py +0 -0
  2118. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_version_cli.py +0 -0
  2119. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_vertical_contract.py +0 -0
  2120. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_walk_capture.py +0 -0
  2121. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_water_temperature.py +0 -0
  2122. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wdm6.py +0 -0
  2123. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wdm6_column.py +0 -0
  2124. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wheel_bridge_staging.py +0 -0
  2125. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wheel_pin_gate.py +0 -0
  2126. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wizard_adapter_roundtrip.py +0 -0
  2127. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wizard_sizing_authority.py +0 -0
  2128. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wizard_sources.py +0 -0
  2129. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf461_compatibility.py +0 -0
  2130. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_backend_parity.py +0 -0
  2131. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_direct.py +0 -0
  2132. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_direct_writer.py +0 -0
  2133. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_instrumented.py +0 -0
  2134. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_legacy_radiation.py +0 -0
  2135. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_output_schema.py +0 -0
  2136. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_ozone.py +0 -0
  2137. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrf_vert_interp.py +0 -0
  2138. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout.py +0 -0
  2139. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_conformance.py +0 -0
  2140. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_dual_write.py +0 -0
  2141. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_engine.py +0 -0
  2142. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_global_attribute_set.py +0 -0
  2143. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_history_selection.py +0 -0
  2144. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_initial_condition_provenance.py +0 -0
  2145. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wrfout_surface_identity.py +0 -0
  2146. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_wsm6.py +0 -0
  2147. {gpuwm-2.5.7 → gpuwm-2.6.0}/tests/test_ysu_workspace.py +0 -0
  2148. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/__init__.py +0 -0
  2149. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/_nest_launch.py +0 -0
  2150. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/attack_instrument.py +0 -0
  2151. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/attack_intersect.py +0 -0
  2152. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/attack_real12gb.py +0 -0
  2153. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/attack_timing.py +0 -0
  2154. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/autoplan.py +0 -0
  2155. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bench.py +0 -0
  2156. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bench_graph.py +0 -0
  2157. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bench_ooc_output.py +0 -0
  2158. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bench_output.py +0 -0
  2159. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bench_physics.py +0 -0
  2160. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bigdomain.py +0 -0
  2161. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bigdomain_render.py +0 -0
  2162. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/bw_probe.py +0 -0
  2163. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/case_crop.py +0 -0
  2164. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/case_wrfout.py +0 -0
  2165. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/checkpoint.py +0 -0
  2166. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/conftest.py +0 -0
  2167. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/da_stream.py +0 -0
  2168. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/ddr.py +0 -0
  2169. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/decomp.py +0 -0
  2170. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/digest_dump.py +0 -0
  2171. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/driver.py +0 -0
  2172. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/endure.py +0 -0
  2173. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/fft_backend_probe.py +0 -0
  2174. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/find_storm.py +0 -0
  2175. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/gather.py +0 -0
  2176. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/graphcap.py +0 -0
  2177. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/harness.py +0 -0
  2178. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/health_fold.py +0 -0
  2179. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/hoststore.py +0 -0
  2180. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/ledger_ladder.py +0 -0
  2181. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/ledger_probe.py +0 -0
  2182. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/linux_probe.py +0 -0
  2183. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/make_plots.py +0 -0
  2184. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/mgbench.py +0 -0
  2185. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/mgstream.py +0 -0
  2186. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/multigpu.py +0 -0
  2187. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/nestbridge.py +0 -0
  2188. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/node_probe.py +0 -0
  2189. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/node_smoke.py +0 -0
  2190. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/output-scaling.json +0 -0
  2191. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/output.py +0 -0
  2192. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/overlap.py +0 -0
  2193. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/overlap_attrib.py +0 -0
  2194. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/physics_inventory.py +0 -0
  2195. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/probe_alias.py +0 -0
  2196. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/probe_open_halo.py +0 -0
  2197. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/probe_open_map.py +0 -0
  2198. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/real_init.py +0 -0
  2199. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/realcase_mg.py +0 -0
  2200. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/realcase_render.py +0 -0
  2201. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/realcase_wrfout.py +0 -0
  2202. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/receipts.py +0 -0
  2203. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/render_case.py +0 -0
  2204. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/render_case_rust.py +0 -0
  2205. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/restart_stream.py +0 -0
  2206. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rings.py +0 -0
  2207. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_bench.py +0 -0
  2208. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_ceiling.py +0 -0
  2209. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_lazy.py +0 -0
  2210. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_matrix.py +0 -0
  2211. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_nonpool.py +0 -0
  2212. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_profile.py +0 -0
  2213. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_tight.py +0 -0
  2214. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/rrtmgp_vram.py +0 -0
  2215. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/run_bench.py +0 -0
  2216. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/run_bigdomain.py +0 -0
  2217. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/run_case_hrrr.py +0 -0
  2218. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/run_realcase.py +0 -0
  2219. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/scaling.py +0 -0
  2220. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/settle_check.py +0 -0
  2221. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/shared_workspace.py +0 -0
  2222. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/skeptic_duplex.py +0 -0
  2223. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/skeptic_numa.py +0 -0
  2224. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/skeptic_obsfold.py +0 -0
  2225. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/skeptic_probe.py +0 -0
  2226. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/skeptic_probe2.py +0 -0
  2227. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/skeptic_ringdeps.py +0 -0
  2228. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/spec.py +0 -0
  2229. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/spike_check.py +0 -0
  2230. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_autoplan.py +0 -0
  2231. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_da_stream.py +0 -0
  2232. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_decomp_gate.py +0 -0
  2233. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_exchange_pack.py +0 -0
  2234. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_forced_gate.py +0 -0
  2235. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_gate.py +0 -0
  2236. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_graphcap.py +0 -0
  2237. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_history.py +0 -0
  2238. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_hostmem.py +0 -0
  2239. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_hoststore.py +0 -0
  2240. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_io.py +0 -0
  2241. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_join.py +0 -0
  2242. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_mgphys.py +0 -0
  2243. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_mgstream.py +0 -0
  2244. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_moving_nest.py +0 -0
  2245. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_nest.py +0 -0
  2246. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_nest_executor.py +0 -0
  2247. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_observers.py +0 -0
  2248. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_obsfold.py +0 -0
  2249. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_open_bc.py +0 -0
  2250. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_open_mg.py +0 -0
  2251. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_overlap.py +0 -0
  2252. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_prepared_store.py +0 -0
  2253. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_real_decomp_gate.py +0 -0
  2254. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_realdata.py +0 -0
  2255. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_receipts_gate.py +0 -0
  2256. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_restart_gate.py +0 -0
  2257. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_restart_route.py +0 -0
  2258. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_rings.py +0 -0
  2259. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_route.py +0 -0
  2260. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_rrtmgp_vram.py +0 -0
  2261. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_seam_gate.py +0 -0
  2262. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_share.py +0 -0
  2263. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_spawn_stream.py +0 -0
  2264. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_spec.py +0 -0
  2265. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_store_direct_frame.py +0 -0
  2266. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_streamed_child.py +0 -0
  2267. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_tile_hook_contract.py +0 -0
  2268. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_uh_mgstream.py +0 -0
  2269. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/test_uh_stream.py +0 -0
  2270. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/verify_case.py +0 -0
  2271. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/vram.py +0 -0
  2272. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/vram_probe.py +0 -0
  2273. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/vram_share_bench.py +0 -0
  2274. {gpuwm-2.5.7 → gpuwm-2.6.0}/tilestream/win_default_profile_leg.py +0 -0
  2275. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/__init__.py +0 -0
  2276. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ab_dyn_state_hash.py +0 -0
  2277. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ab_dyn_step2.py +0 -0
  2278. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ab_lbc_state_hash.py +0 -0
  2279. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ab_mp_step.py +0 -0
  2280. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ab_rad_flux_hash.py +0 -0
  2281. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/acceptance_pip_install_chain.py +0 -0
  2282. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/audit_era5_preprocess_receipt.py +0 -0
  2283. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/author_source_profile.py +0 -0
  2284. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/battery_route_preflight.py +0 -0
  2285. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/battery_wrf_node_plan.py +0 -0
  2286. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/benchmark_preprocess_backends.py +0 -0
  2287. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/benchmark_seeded_step.py +0 -0
  2288. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_bridge_bundle.py +0 -0
  2289. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_cli_options_doc.py +0 -0
  2290. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_era5_netcdf_terrain_supplement.py +0 -0
  2291. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_native_wrf_distribution.py +0 -0
  2292. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_native_wrf_windows_distribution.py +0 -0
  2293. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_pressure_level_invariant_supplement.py +0 -0
  2294. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_rrtm_lw_statics.py +0 -0
  2295. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_rw_wps_windows_release.py +0 -0
  2296. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/build_stretched_eta_ladder.py +0 -0
  2297. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/certified_surface_identity.py +0 -0
  2298. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/certify_band_from_ensemble.py +0 -0
  2299. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/check_case_token_leakage.py +0 -0
  2300. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/check_negation_invariant.py +0 -0
  2301. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/check_parameter_claims.py +0 -0
  2302. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ci_test_replay.py +0 -0
  2303. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/compare_feedback_signature.py +0 -0
  2304. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/compare_real74_nssl2_500m.py +0 -0
  2305. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/compare_wsm6_oracles.py +0 -0
  2306. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_ab_score.py +0 -0
  2307. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_cycle_plan.py +0 -0
  2308. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_cycle_prepared.py +0 -0
  2309. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_ensemble_state.py +0 -0
  2310. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_level2_render.py +0 -0
  2311. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_nest_cost.py +0 -0
  2312. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_nowcast.py +0 -0
  2313. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_nowcast_auto.py +0 -0
  2314. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_nowcast_launcher.py +0 -0
  2315. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_nowcast_render.py +0 -0
  2316. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_scorecard.py +0 -0
  2317. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_solve_ab.py +0 -0
  2318. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_sweep_run.py +0 -0
  2319. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_sweep_score.py +0 -0
  2320. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/da_synthetic_cycle.py +0 -0
  2321. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/dealias_engine_compare.py +0 -0
  2322. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/derive_acceptance_band.py +0 -0
  2323. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/derive_persistence_baseline.py +0 -0
  2324. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/download_20crv3_native_subset.py +0 -0
  2325. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/download_gfs_native_subset.py +0 -0
  2326. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/download_hrrr_native_subset.py +0 -0
  2327. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/dual_run_screen.py +0 -0
  2328. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/emit_les_route_inputs.py +0 -0
  2329. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ensemble_forecast.py +0 -0
  2330. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/exercise_surface_layer_options.py +0 -0
  2331. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/extract_kf_real74_columns.py +0 -0
  2332. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/extract_mapped_engine_goldens.py +0 -0
  2333. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/freeze_radar_sites.py +0 -0
  2334. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/freeze_surface_networks.py +0 -0
  2335. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/freeze_wrf_io_contract.py +0 -0
  2336. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/generate_kf_lutab.py +0 -0
  2337. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/geog_subset.py +0 -0
  2338. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/gf_frame_scan.py +0 -0
  2339. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/gf_workspace_rewrite.py +0 -0
  2340. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/grayzone_p4_score.py +0 -0
  2341. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/grayzone_phase0.py +0 -0
  2342. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/harvest_radar_heights.py +0 -0
  2343. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/health_field_census.py +0 -0
  2344. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/hrrr_build_native_static.py +0 -0
  2345. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/hrrr_compare_met_em.py +0 -0
  2346. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/hrrr_d02_mapping_check.py +0 -0
  2347. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/hrrr_pipeline.py +0 -0
  2348. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/inflow_fetch_meter.py +0 -0
  2349. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/les1m_analyse.py +0 -0
  2350. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/les1m_cflsweep.py +0 -0
  2351. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/les1m_consolidate.py +0 -0
  2352. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/les1m_extrapolate.py +0 -0
  2353. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/les1m_probe.py +0 -0
  2354. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/mapped_engine_parity_sweep.py +0 -0
  2355. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/mapped_prep_rss_probe.py +0 -0
  2356. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/matched_wrfout_envelope.py +0 -0
  2357. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/matched_wrfout_refl_figures.py +0 -0
  2358. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/matched_wrfout_stream_compare.py +0 -0
  2359. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/matched_wrfout_t0_state_digest.py +0 -0
  2360. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/measure_fetch_concurrency.py +0 -0
  2361. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/mp8_freeze_receipt.py +0 -0
  2362. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/mynn_noah_surface_identity.py +0 -0
  2363. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/nc_rewrite_parity.py +0 -0
  2364. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/nc_rewrite_render_parity.py +0 -0
  2365. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/nc_writer_evidence_gallery.py +0 -0
  2366. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/nest_microphysics_matrix_smoke.py +0 -0
  2367. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/nssl2_mp18_digest_probe.py +0 -0
  2368. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/nssl2_variant_probe.py +0 -0
  2369. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_battery_manifest.py +0 -0
  2370. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_battery_registration.py +0 -0
  2371. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_battery_score.py +0 -0
  2372. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_cross_reader_receipt.py +0 -0
  2373. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_fetch_asos.py +0 -0
  2374. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_fetch_mrms.py +0 -0
  2375. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_fetch_stage4.py +0 -0
  2376. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_goes_grid_build.py +0 -0
  2377. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_grid_dual_write.py +0 -0
  2378. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_precampaign_controls.py +0 -0
  2379. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_radar_grid_build.py +0 -0
  2380. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_radar_grid_from_pack.py +0 -0
  2381. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_t0_parity_receipt.py +0 -0
  2382. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/obs_target_domain_wrfout.py +0 -0
  2383. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/perf_dealias_hotspot.py +0 -0
  2384. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/perf_obs_timing.py +0 -0
  2385. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/plot_mpas_mesh_evidence.py +0 -0
  2386. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepare_cpu_wrf.py +0 -0
  2387. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepare_era5_cpu_wrf.py +0 -0
  2388. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepare_gfs_cpu_wrf.py +0 -0
  2389. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepare_hrrr_500_native.sh +0 -0
  2390. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepare_hrrr_cpu_wrf.sh +0 -0
  2391. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepare_hrrr_domain_cpu_wrf.sh +0 -0
  2392. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepared_domain_tree_forecast.py +0 -0
  2393. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/prepared_single_domain_forecast.py +0 -0
  2394. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/preserved_input_manifest.py +0 -0
  2395. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/probe_library_abi.py +0 -0
  2396. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ptop_ab_charts.py +0 -0
  2397. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ptop_ab_montage.py +0 -0
  2398. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/ptop_ab_probes.py +0 -0
  2399. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/publish_geog_mirror.py +0 -0
  2400. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/regenerate_wrfout_global_attribute_set.py +0 -0
  2401. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/relocation_ledger_audit.py +0 -0
  2402. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/render_static_terrain.py +0 -0
  2403. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/repair_era5_appended_invariant_time.py +0 -0
  2404. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/report_physics_composition_walk.py +0 -0
  2405. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/report_registry_ground_truth.py +0 -0
  2406. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/report_resolved_scale_disclaimer.py +0 -0
  2407. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/report_template_evidence_consistency.py +0 -0
  2408. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/run_highres_geog_pilot.py +0 -0
  2409. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/run_highres_static_demo.py +0 -0
  2410. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/run_hrrr_stock_wrf_acceptance.py +0 -0
  2411. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/run_real74_nssl2_500m.py +0 -0
  2412. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/rustwx_new_lanes_demo.py +0 -0
  2413. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/rustwx_render_regression_gate.py +0 -0
  2414. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/score_feedback_reference_pair.py +0 -0
  2415. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/seal_hrrr_native_bridge.py +0 -0
  2416. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/seal_wrf_direct_proof.py +0 -0
  2417. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/seal_wrf_reference_manifest.py +0 -0
  2418. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/slice_grib2_envelopes.py +0 -0
  2419. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/smoke_dudhia_gpu.py +0 -0
  2420. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/smoke_easy_physics_gpu.py +0 -0
  2421. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/smoke_rw_wps_cpu_install.py +0 -0
  2422. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/spectral_gate_calibrate.py +0 -0
  2423. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/stage_wheel_bridges.py +0 -0
  2424. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/streamed_frame_parity.py +0 -0
  2425. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/subset_wrf_history_parent.py +0 -0
  2426. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/summarize_hrrr_500_suite.py +0 -0
  2427. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/surface_moisture_ledger.py +0 -0
  2428. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/terrain_source_crossvalidation.py +0 -0
  2429. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/tiles_door_legs.py +0 -0
  2430. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/validate_mpas_regrid.py +0 -0
  2431. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/verification_recipe_receipt.py +0 -0
  2432. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/verify_glacier_scale.py +0 -0
  2433. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/verify_release_artifacts.py +0 -0
  2434. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/verify_runscore_parity.py +0 -0
  2435. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/verify_source_bridge_pins.py +0 -0
  2436. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/verify_wrf_backend_parity.py +0 -0
  2437. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/vram_reserve_probe.py +0 -0
  2438. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/vram_residue_harvest.py +0 -0
  2439. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/walk_capture.py +0 -0
  2440. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/water_temperature_probe.py +0 -0
  2441. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/wrfinput_dual_write.py +0 -0
  2442. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/wrfout_bit_identity.py +0 -0
  2443. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/wrfout_crop.py +0 -0
  2444. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/wrfout_dual_write.py +0 -0
  2445. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/write_hrrr_native_geometry_receipt.py +0 -0
  2446. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/write_hrrr_stock_wrf_namelist.py +0 -0
  2447. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/wsm6_gpu_oracle.py +0 -0
  2448. {gpuwm-2.5.7 → gpuwm-2.6.0}/tools/wsm6_gpu_smoke.py +0 -0
gpuwm-2.6.0/PKG-INFO ADDED
@@ -0,0 +1,698 @@
1
+ Metadata-Version: 2.4
2
+ Name: gpuwm
3
+ Version: 2.6.0
4
+ Summary: Native WRF preprocessing and GPU-native limited-area weather modeling
5
+ License-Expression: Apache-2.0
6
+ Project-URL: Homepage, https://github.com/FahrenheitResearch/arwen
7
+ Project-URL: Repository, https://github.com/FahrenheitResearch/arwen
8
+ Project-URL: Changelog, https://github.com/FahrenheitResearch/arwen/blob/main/CHANGELOG.md
9
+ Keywords: WRF,WPS,GRIB,NetCDF,weather,CUDA
10
+ Requires-Python: >=3.11
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ License-File: NOTICE
14
+ Requires-Dist: numpy>=2.0
15
+ Requires-Dist: netCDF4>=1.6
16
+ Requires-Dist: matplotlib>=3.8
17
+ Requires-Dist: jsonschema>=4.0
18
+ Requires-Dist: scipy>=1.11
19
+ Requires-Dist: pyshp>=2.3
20
+ Requires-Dist: gpuwm-data==2.6.0
21
+ Provides-Extra: gpu-cu12
22
+ Requires-Dist: cupy-cuda12x[ctk]>=14.0; extra == "gpu-cu12"
23
+ Provides-Extra: gpu-cu13
24
+ Requires-Dist: cupy-cuda13x[ctk]>=14.0; extra == "gpu-cu13"
25
+ Provides-Extra: gpu
26
+ Requires-Dist: gpuwm[gpu-cu12]; extra == "gpu"
27
+ Provides-Extra: render
28
+ Requires-Dist: wrf-rust<0.3,>=0.2.39; extra == "render"
29
+ Provides-Extra: geog
30
+ Requires-Dist: rasterio>=1.3; extra == "geog"
31
+ Requires-Dist: pyproj>=3.6; extra == "geog"
32
+ Provides-Extra: obs
33
+ Provides-Extra: dealias
34
+ Provides-Extra: dev
35
+ Requires-Dist: pytest>=8.0; extra == "dev"
36
+ Requires-Dist: psutil>=5.9; extra == "dev"
37
+ Provides-Extra: publish
38
+ Requires-Dist: huggingface_hub>=0.23; extra == "publish"
39
+ Requires-Dist: h5py>=3.10; extra == "publish"
40
+ Provides-Extra: all-cu12
41
+ Requires-Dist: gpuwm[gpu-cu12]; extra == "all-cu12"
42
+ Requires-Dist: gpuwm[render]; extra == "all-cu12"
43
+ Provides-Extra: all-cu13
44
+ Requires-Dist: gpuwm[gpu-cu13]; extra == "all-cu13"
45
+ Requires-Dist: gpuwm[render]; extra == "all-cu13"
46
+ Provides-Extra: all
47
+ Requires-Dist: gpuwm[all-cu12]; extra == "all"
48
+ Dynamic: license-file
49
+
50
+ # ArWen
51
+
52
+ ArWen is an independent, GPU-native implementation of a WRF-ARW-class
53
+ regional atmospheric model. It is not affiliated with or endorsed by
54
+ NCAR or UCAR. The name is a wordmark for "the ARW solver, GPU-native";
55
+ the Python package is currently named `gpuwm`.
56
+
57
+ > **Safety.** ArWen is a research and educational tool. It is never a
58
+ > substitute for official forecasts and warnings from your national
59
+ > meteorological service. Do not use it to make safety decisions.
60
+
61
+ Forecasts run about 1.9x faster than 2.5.1 and need roughly 1.5 GB
62
+ less VRAM, with byte-identical output on both cards it was measured
63
+ on. Radiation optimisation contributed by Roch.
64
+
65
+ Regional numerical weather prediction at convective scale has mostly
66
+ required institutional clusters, which means most of the world runs on
67
+ global-model guidance at 10-25 km. ArWen's aim is to put a verified,
68
+ kilometer-scale limited-area model on a single consumer GPU: pick a
69
+ point, size a nest ladder to your card, pull public analysis data, and
70
+ run a 1 km (or 500 m) simulation of your own area on hardware you own --
71
+ especially in places where no national convection-permitting model
72
+ exists.
73
+
74
+ ![Paired CPU (WRF v4.6.1) and GPU (ArWen) composite reflectivity, same
75
+ initial state, same physics, +3 h](docs/public/img/hero-cpu-vs-gpu-reflectivity.png)
76
+
77
+ *Above: unchanged WRF v4.6.1 (left of each pair) and ArWen (right),
78
+ same case, matched physics. At +3 h on the 3 km domain the two models
79
+ agree to composite-reflectivity correlation 0.985, with the squall line
80
+ in the same place with the same structure and >=20 dBZ echo area
81
+ matching to 3 pixels in 14,227; the numbers behind this figure are in
82
+ [VERIFICATION.md](docs/public/VERIFICATION.md).*
83
+
84
+ ## What it does
85
+
86
+ - Integrates a WRF-ARW-class compressible nonhydrostatic core (RK3,
87
+ split-explicit acoustics, one-way static nesting) in FP32 on CUDA.
88
+ - Runs WRF v4.6.1-transcribed physics: 5 microphysics schemes, YSU,
89
+ MYNN and scale-aware Shin-Hong PBL, Noah / Noah-MP / RUC land
90
+ surface, RTE+RRTMGP and legacy RRTMG radiation, Kain-Fritsch cumulus
91
+ ([PHYSICS.md](docs/public/PHYSICS.md)).
92
+ - Initializes directly from ERA5, GFS, or HRRR with a built-in fetch
93
+ front door and a fail-closed Rust GRIB decode layer -- no WPS, no
94
+ `real.exe` ([DATA.md](docs/public/DATA.md)).
95
+ - Sizes domains to your GPU with a measured VRAM model
96
+ (`gpuwm domain`; [HARDWARE.md](docs/public/HARDWARE.md)).
97
+ - Runs independent forecasts concurrently on distinct GPUs with isolated
98
+ output, temp, CuPy-cache, and driver-JIT-cache paths (`gpuwm multi-run`;
99
+ [HARDWARE.md](docs/public/HARDWARE.md#independent-runs-on-multiple-gpus)).
100
+ - Renders reflectivity, T2, 10 m wind, and precipitation products;
101
+ checkpoints and resumes; re-runs finer nests offline from archived
102
+ parents ([DOWNSCALE.md](docs/public/DOWNSCALE.md)).
103
+ - Feeds unchanged stock WRF: the same preprocessor (`rw-wps`) emits
104
+ `wrfinput_d0N`/`wrfbdy_d01` that WRF v4.6.1 has accepted and
105
+ integrated, serial and MPI ([WRF-INTEROP.md](docs/public/WRF-INTEROP.md)).
106
+
107
+ Measured on one RTX 5090 (Windows 11, driver-default WDDM): a 6 h
108
+ forecast on a 250x200x49 12-km domain with a full physics suite
109
+ (Morrison two-moment microphysics, RTE+RRTMGP radiation, YSU, Noah,
110
+ Kain-Fritsch) completed in **3.6 minutes of wall time** using ~6.3 GiB
111
+ of device memory; GFS input acquisition took 9.7 s and rendering 16
112
+ product PNGs took 2.6 s (first-time-user acceptance transcript,
113
+ 2026-07-29).
114
+
115
+ ## Install
116
+
117
+ Pick the line that matches your box's CUDA major. CuPy ships one wheel
118
+ per major and pip cannot detect yours, so the extra names it -- the
119
+ wrong one imports cleanly and then dies at its first cuBLAS load.
120
+ `nvidia-smi` prints the CUDA version in its header.
121
+
122
+ ```bash
123
+ pip install 'gpuwm[all-cu12]' # CUDA 12.x box: gpu + render extras
124
+ pip install 'gpuwm[all-cu13]' # CUDA-13-only box (e.g. a fresh RTX 5090 stack)
125
+ gpuwm setup # prebuilt Rust decoders + the externalized physics tables
126
+ ```
127
+
128
+ `gpuwm doctor` reads the CUDA major off the driver -- before CuPy is
129
+ installed as well as after -- and names the extra that matches. `[all]`
130
+ and `[gpu]` still work and still mean cu12; they are kept for the
131
+ installs that already use them.
132
+
133
+ Those lines install a CUDA toolkit as wheels alongside the CuPy wheel
134
+ (CuPy's own `[ctk]` extra, about 1.6 GiB), because a wheel alone is not
135
+ enough on a box that has only a driver: CuPy ships the compiler and no
136
+ CUDA headers, so the first kernel and the first cuBLAS load both die
137
+ with `Failed to find CUDA headers`. Measured on a driver-only CUDA 13
138
+ node: bare wheel 274 MiB and nothing on the GPU runs; with `[ctk]` 1867
139
+ MiB and all of it runs. If your box already has a matching CUDA
140
+ toolkit, `pip install gpuwm` then `pip install cupy-cuda13x` (or
141
+ `cupy-cuda12x`) is the smaller install.
142
+
143
+ **No card in the machine?** Install `gpuwm` alone, without a CuPy extra.
144
+ Everything upstream of the forecast — sizing, fetching, and
145
+ preprocessing into a prepared bundle a card can pick up — runs on the
146
+ CPU, and preprocessing selects that backend by itself. The forecast loop
147
+ does not, and there is no CPU fallback for it. The measured walkthrough
148
+ is [WITHOUT-A-GPU.md](docs/public/WITHOUT-A-GPU.md).
149
+
150
+ **Python 3.10 through 3.14 all install the whole thing.** The `render`
151
+ extra resolves `wrf-rust>=0.2.39`, which is the oldest release with a
152
+ wheel for every one of them; earlier releases stopped at cp313, and
153
+ because pip fails a whole resolution when one requirement fails, `pip
154
+ install 'gpuwm[gpu-cu13,render]'` on a 3.14 box used to install **no
155
+ gpuwm at all**. Nothing is skipped and nothing carries an environment
156
+ marker now. If you pin an older `wrf-rust` yourself on 3.14, `gpuwm
157
+ doctor` names that gap rather than printing a pip line that cannot
158
+ work.
159
+
160
+ `gpuwm setup` runs `gpuwm fetch-bridges` then `gpuwm fetch-tables`,
161
+ verifies every artifact against the SHA-256 pins packaged in the wheel,
162
+ and finishes with the `gpuwm doctor` summary. It is re-run safe: what
163
+ is already staged and pin-valid is verified and skipped. The ~16 GB
164
+ WPS_GEOG static tree is not part of it -- `gpuwm setup --with-geog`
165
+ opts in and prints the size before anything downloads, or run
166
+ `gpuwm fetch-geog` later.
167
+
168
+ To upgrade later, `gpuwm update` prints the exact command for your
169
+ environment -- the distribution that provides this install and the
170
+ interpreter running it -- and nothing else: it downloads nothing and
171
+ replaces nothing, because rewriting a package's files underneath the
172
+ process importing them is how a half-upgraded install happens. Run the
173
+ line it prints from your shell. The staged bridges and physics tables
174
+ live under `~/.gpuwm`, outside the wheel, so an upgrade does not
175
+ re-download them.
176
+
177
+ Published PyPI wheels and sdists carry bridge pins generated from that
178
+ release's exact native bundles. GitHub's automatic source `.zip` and
179
+ `.tar.gz` archives are intentionally unpinned: install the PyPI artifact to
180
+ use `gpuwm fetch-bridges`, or clone the tag and build the vendored Rust
181
+ workspaces when installing from source.
182
+
183
+ Then a first forecast -- two commands, no placeholders:
184
+
185
+ ```bash
186
+ # 1. Size a domain to your card at your point of interest. The
187
+ # emitted TOML records the cycle and fetch area, so nothing has to
188
+ # be copied by hand.
189
+ gpuwm domain --point 35.3,-97.5 --card 24gb --ladder 12 \
190
+ --source gfs --cycle latest --hours 6 --out configs/myarea.toml
191
+
192
+ # 2. Run the whole chain: fetch -> initialize -> GPU forecast -> PNGs.
193
+ # (`--dry-run` prints the six underlying commands instead.)
194
+ gpuwm go configs/myarea.toml
195
+ ```
196
+
197
+ Step 2 builds its static fields — terrain, land use, soil — from the
198
+ WPS_GEOG tree, and `gpuwm setup` does **not** stage it: ~1.3 GB
199
+ compressed, ~16 GB unpacked, which is a decision rather than a default.
200
+ Run `gpuwm fetch-geog` once, before or after step 1. A bare `gpuwm
201
+ setup` closes by saying it skipped it, and `gpuwm doctor` names the gap
202
+ with the same command.
203
+
204
+ Bare `gpuwm domain` at a terminal asks four questions and ends by
205
+ printing that exact `gpuwm go` line. Nest ladders (12-3, 12-3-1, ...)
206
+ and the ERA5 route run stage by stage instead of through `go`; the
207
+ wizard's closing block prints each next command for the config it just
208
+ wrote, and the full walkthrough is
209
+ [FIRST-LIGHT.md](docs/public/FIRST-LIGHT.md).
210
+
211
+ For an uploading HRRR cycle, `gpuwm stream PLAN.toml` runs bounded,
212
+ crash-resumable hourly restart-extend legs. Each leg seals a forcing prefix,
213
+ rebuilds the prepared hierarchy, resumes the preceding tree checkpoint, and
214
+ publishes a hash-linked PASS timeline; forcing is never injected into a live
215
+ model process. See [Chunked forecast streaming](docs/public/STREAMING.md) for
216
+ the plan schema, GPU ownership, disk/cache accounting, and timeline semantics.
217
+
218
+ ### Route status
219
+
220
+ Before every release cut, a route-coverage gate installs the built
221
+ wheel on a machine that has never seen this project and drives every
222
+ route this documentation advertises, filling each printed placeholder
223
+ from what the run itself printed rather than from knowledge of the
224
+ source. What that gate found for 1.4.0 is below. Routes marked Unreleased are
225
+ newer and report their separate campaign state explicitly.
226
+
227
+ **Supported** means the gate was green end to end from a wheel.
228
+ **Experimental** means the route works and has a named rough edge --
229
+ the edge is in the last column rather than in your way.
230
+
231
+ | Route | Status | What the gate found |
232
+ |---|---|---|
233
+ | Install: `pip install 'gpuwm[all-cu12]'` (or `[all-cu13]`) -> `gpuwm setup` -> `gpuwm doctor` | **Supported** | Green on a cold machine from this release's pinned bundle. |
234
+ | Parts: `gpuwm fetch-bridges`, `gpuwm fetch-tables`, re-run | **Supported** | Green, and re-running either is safe: what is already staged and pin-valid is verified and skipped. |
235
+ | `gpuwm fetch-geog` (the WPS_GEOG static tree) | **Supported** | Green. |
236
+ | GFS, single domain, through `gpuwm go` | **Supported** | Green: one command from fetch to PNGs. |
237
+ | GFS, single domain, stage by stage | **Supported** | Green through the forecast. |
238
+ | GFS, nest ladder -> the domain-tree runner | **Supported** | Green through the forecast. No page documents an authority-materialization step for the tree runner; the single-domain page's step does not transfer, and this route does not need it. |
239
+ | ERA5, from a config | **Supported** | Green: request template -> validate -> check -> run -> render. |
240
+ | `gpuwm import-namelist` (an existing WRF namelist pair) | **Supported** | Green on a real pair. Bring your own: nothing in the product emits a `namelist.input` to practise the importer on, and no example pair ships. |
241
+ | `gpuwm certify` / `gpuwm dual-run` | **Supported** | Green. |
242
+ | `gpuwm multi-run PLAN.toml` (Unreleased) | **Experimental** | An earlier candidate-wheel two-GPU campaign completed simultaneous HRRR/WSM6 and GFS/Thompson forecasts on distinct physical GPUs. The final post-1.4 wheel has not repeated that campaign, so no final-wheel readiness or performance claim is made. |
243
+ | `gpuwm stream PLAN.toml` (Unreleased) | **Experimental** | An earlier candidate wheel completed the bounded HRRR 12Z f001 -> 13Z f001 seam with initial and final health green; only 13Z was a fresh availability observation. The final post-1.4 wheel has not repeated it, and no within-cycle f001..f004 or combined HRRR-plus-GFS claim is made. |
244
+ | HRRR, single domain: fetch -> native preparation | **Experimental** | Fetch and the preparation are green from a wheel. The handoff to the forecast is not: the wizard's closing block says the preparation prints the forecast stage's arguments, and it does not print them -- so reaching a finished single-domain forecast means assembling that `tools/hrrr_single_domain_benchmark.py` command by hand out of the preparation's output tree. The nest-ladder route below needs no such step. |
245
+ | HRRR, nest ladder: preparation -> hierarchy -> tree forecast | **Supported** | Green end to end through the forecast: domain, fetch, preparation, hierarchy and the tree runner, each command copied from the one the previous stage printed. One value in the printed tree-runner command is not printed by any stage -- `--experiment-config-sha256`; the command names the file and you hash it yourself. |
246
+ | `gpuwm downscale` (an offline finer nest from an archived run) | **Experimental** | The dry run is green. Derived mode refuses when the child config enables surface physics and no child-grid surface source was given; the refusal names `--child-surface-from`. |
247
+ | `gpuwm enprod` (ensemble products) | **Experimental** | Green over an ensemble. `--make-fixture` writes a synthetic one, but **drawing it needs the render extra** -- `pip install 'gpuwm[render]'` -- so on a base install the fixture builds and then `gpuwm enprod ENS_ROOT` refuses with zero PNGs. Unlike `gpuwm render` there is no matplotlib fallback. Member generation is undocumented: no public page prints a runnable command that produces members. |
248
+ | `gpuwm adapt` (an arbitrary but verified GRIB2 adapter) | **Experimental** | `--skeleton` is green and names its own gaps. Authoring needs a descriptor you complete by hand; the unfilled scaffold is refused as a scaffold rather than accepted. |
249
+
250
+ `gpuwm doctor` prints one line per item with the command that closes
251
+ each gap; `gpuwm doctor --explain` prints the full remedy block for
252
+ each, with the evidence behind it. Every command in this project takes
253
+ `--explain` and means the same thing by it.
254
+
255
+ Doctor reports the estate *and* the paths a run resolves: for each data
256
+ route, the exact decoder its preparation will launch, the byte transport
257
+ its fetch will pick, the identity its receipt will bind, and whether its
258
+ entry points import from a directory that is not a repository.
259
+ `gpuwm doctor --source hrrr` narrows the report to one route. That half
260
+ exists because a wheel install once read "no gaps" and then refused,
261
+ one command later, on a path the report had never resolved.
262
+
263
+ When something has already gone wrong, `gpuwm report` is the other half:
264
+ run it in the run directory and it collects the receipts, the failure,
265
+ the logs, this install's identity, the card and the free space into one
266
+ readable zip to attach to an issue. It is anonymous by construction --
267
+ usernames, home paths, hostnames, addresses and credential-shaped
268
+ strings are replaced by class placeholders, and your domain and dates
269
+ are kept because they are science, not identity. `gpuwm report
270
+ --dry-run` prints the manifest without writing anything, so you can see
271
+ what you would be sending first:
272
+ [reporting a problem](docs/public/REPORTING-A-PROBLEM.md).
273
+
274
+ The longer path -- the install scripts, the manual steps, and what each
275
+ piece is -- is below.
276
+
277
+ ### The install scripts
278
+
279
+ One command from the checkout root. `install.sh` / `install.ps1`
280
+ create `.venv`, install the `[gpu,render]` extras, stage the
281
+ externalized Thompson tables (`gpuwm fetch-tables`: a one-time
282
+ ~243 MiB release-asset download from a checkout, SHA-256-verified
283
+ before install, skipped when already present; `--no-fetch-tables` /
284
+ `-NoFetchTables` defers it), offer to install rustup when `cargo` is
285
+ missing (they ask first; `--yes` / `-Yes` consents), build the
286
+ vendored Rust GRIB bridges and the production render engine offline
287
+ (`--no-render` / `-NoRender` skips the renderer build), and finish
288
+ with `gpuwm doctor`. Re-running either script is safe: an existing
289
+ `.venv`, staged tables, and built bridges are reused.
290
+
291
+ ```bash
292
+ git clone https://github.com/FahrenheitResearch/arwen gpuwm && cd gpuwm
293
+ bash install.sh # PowerShell: .\install.ps1
294
+ ```
295
+
296
+ `bash install.sh` is the universal form and works regardless of how
297
+ your checkout landed the file's mode bit. `./install.sh` works too;
298
+ if it ever answers `Permission denied`, use the `bash` form above.
299
+
300
+ The same scripts also run standalone -- POSIX:
301
+
302
+ ```bash
303
+ curl -fsSL https://raw.githubusercontent.com/FahrenheitResearch/arwen/main/install.sh | sh
304
+ ```
305
+
306
+ Windows (PowerShell):
307
+
308
+ ```powershell
309
+ iwr -useb https://raw.githubusercontent.com/FahrenheitResearch/arwen/main/install.ps1 | iex
310
+ ```
311
+
312
+ When piped like this, the script clones the repository into `./gpuwm`
313
+ (set `GPUWM_REPO_URL` to clone from a fork or mirror instead).
314
+
315
+ You need Python 3.11+ and git; for GPU runs, an NVIDIA card with
316
+ CUDA 12.x/13.x, field-verified through 13.2 driver stacks on sm_89 by
317
+ two independent nodes: the toolkit works out of the box with the
318
+ `cupy-cuda12x` pin, because minor-version compatibility plus CuPy's
319
+ system-NVRTC discovery covers it -- measured on a Linux RTX 4070 and a
320
+ 4090, 2026-07-30. One exception: a box whose CUDA installation is
321
+ 13-only (no 12.x runtime libraries at all) needs the `[gpu-cu13]`
322
+ extra instead -- the cu12 wheel imports cleanly there and fails at its
323
+ first cuBLAS load; `gpuwm doctor` detects the pairing and names the
324
+ right extra. The
325
+ manual steps, if you prefer them:
326
+
327
+ POSIX:
328
+
329
+ ```bash
330
+ git clone https://github.com/FahrenheitResearch/arwen gpuwm && cd gpuwm
331
+ python -m venv .venv
332
+ source .venv/bin/activate
333
+ python -m pip install -e '.[gpu,render]'
334
+ gpuwm fetch-tables
335
+ gpuwm fetch-geog # WPS_GEOG static tree: ~1.3 GB down, ~16 GB unpacked
336
+ (cd tools/grib1_bridge && cargo build --release --locked --offline)
337
+ (cd tools/rustwx && cargo build --release --locked --offline)
338
+ gpuwm doctor
339
+ ```
340
+
341
+ Windows (PowerShell):
342
+
343
+ ```powershell
344
+ git clone https://github.com/FahrenheitResearch/arwen gpuwm; cd gpuwm
345
+ python -m venv .venv
346
+ .\.venv\Scripts\Activate.ps1
347
+ python -m pip install -e '.[gpu,render]'
348
+ gpuwm fetch-tables
349
+ gpuwm fetch-geog # WPS_GEOG static tree: ~1.3 GB down, ~16 GB unpacked
350
+ cd tools\grib1_bridge; cargo build --release --locked --offline; cd ..\..
351
+ cd tools\rustwx; cargo build --release --locked --offline; cd ..\..
352
+ gpuwm doctor
353
+ ```
354
+
355
+ **Running from a source checkout: bind the tree to its own metadata**
356
+ with `pip install -e <tree>` (both manual sequences above already do
357
+ it, and so do `install.sh` / `install.ps1`), so a receipt is stamped
358
+ with the release that is executing. New in 1.8.8: a checkout whose
359
+ version disagrees with the gpuwm distribution pip has installed refuses
360
+ at config load, naming both versions, both locations and that one-line
361
+ fix. A wheel install never sees it, and a second checkout beside an
362
+ editable install of the *same* version warns one line and runs.
363
+
364
+ **`pip install gpuwm` needs two more commands before it can read
365
+ weather data.** The wheel ships no compiled Rust, and every GRIB decode
366
+ -- ERA5, GFS, GDAS, HRRR, 20CRv3 -- goes through the fail-closed Rust
367
+ bridges built from `tools/grib1_bridge`, which a wheel does not carry.
368
+ Two commands close that gap:
369
+
370
+ ```bash
371
+ pip install gpuwm
372
+ gpuwm setup # runs both fetch steps below, then the doctor summary
373
+ ```
374
+
375
+ `gpuwm setup` is a wrapper over the two commands, which still stand on
376
+ their own:
377
+
378
+ ```bash
379
+ gpuwm fetch-bridges # prebuilt decoders, renderer and fetch backbone
380
+ gpuwm fetch-tables # the two externalized Thompson tables
381
+ gpuwm doctor # what is still missing, and the command for each
382
+ ```
383
+
384
+ `pip install gpuwm` also pulls **`gpuwm-data`**, and there is nothing to
385
+ do about it: it is a hard dependency pinned to the same version, not an
386
+ extra, and it carries the RRTMGP k-distribution NetCDFs and the Thompson
387
+ microphysics lookup tables. They live in a second distribution because
388
+ PyPI rejects any file over 100 MiB and the single 2.5.0 wheel measured
389
+ 103.62 MiB; split, the two are 39.41 MiB and 64.22 MiB. The companion is
390
+ pure data, so one `py3-none-any` wheel serves every platform. If an
391
+ edited environment loses it, every radiation and Thompson run refuses by
392
+ name and prints `pip install gpuwm-data==<your gpuwm version>`.
393
+
394
+ `gpuwm fetch-bridges` downloads one bundle for your platform -- the
395
+ five GRIB decoders, the CPU preprocessing library, the Rust fetch
396
+ backbone and the batch renderer -- and verifies every artifact against
397
+ the SHA-256 pins packaged in the wheel before staging it into
398
+ `~/.gpuwm/bridges`, where the resolver already looks. A release
399
+ publishes bundles for Windows x86-64 and Linux x86-64; anywhere else,
400
+ and on any release that published none, the command says so by name and
401
+ the clone-and-`cargo build` route above is the answer. `--from DIR`
402
+ stages the same bundle offline. `gpuwm doctor` prints whichever of the
403
+ two remedies is true for your machine.
404
+
405
+ `[gpu-cu12]` installs CuPy's CUDA-12 wheel and `[gpu-cu13]` its CUDA-13
406
+ wheel (one of them is required by `gpuwm check`/`run` and the sizing
407
+ wizard). There is no extra that picks for you: a pip extra cannot see
408
+ the box's CUDA major, so naming it is the install's job and checking it
409
+ is `gpuwm doctor`'s. `[all-cu12]`/`[all-cu13]` are those plus
410
+ `[render]`. The older `[gpu]`/`[all]` names still resolve, to cu12;
411
+ `[render]` installs the pinned `wrf-rust` package, and the shapefile
412
+ reader the demo gallery draws basemaps with, for `gpuwm render --engine
413
+ matplotlib` — a named workaround, not an automatic fallback: with no
414
+ usable renderer the default `--engine auto` refuses and names `gpuwm
415
+ fetch-bridges`. The `tools/rustwx` build
416
+ is the production render engine (the vendored Rusty Weather renderer:
417
+ coast/state/county basemaps over a 324-entry vendored product catalog,
418
+ 151 of whose products are implicit-render candidates on any file) --
419
+ `gpuwm render` uses it by default the moment it is built, and works
420
+ without it. `gpuwm doctor` then checks
421
+ each piece for real rather than by presence: it imports CuPy and the
422
+ render stack in subprocesses, probe-executes every bridge and the
423
+ renderer, loads the CPU library and reads its ABI,
424
+ hash-validates the staged Thompson tables, parses the Noah tables,
425
+ and requires each WPS_GEOG dataset's index file -- anything it can only
426
+ see (not prove) is labeled `present` instead of `ok`, and every gap
427
+ prints a remedy whose every line is a command or a `#` comment, so the
428
+ block survives being pasted whole. Most are exact commands; a few
429
+ cannot be, and say so rather than inventing one -- an unset
430
+ `GPUWM_CASE_DATA_ROOT` needs a path only you know. Details, wheel caveats, and the
431
+ sealed archives: [docs/install.md](docs/install.md).
432
+
433
+ ## First light
434
+
435
+ The condensed path from nothing to pictures (full walkthrough with
436
+ measured timings: [FIRST-LIGHT.md](docs/public/FIRST-LIGHT.md)):
437
+
438
+ ```bash
439
+ # 1. Size a domain ladder to your card at your point of interest
440
+ gpuwm domain --point 35.3,-97.5 --card 24gb --cycle 1999-05-03T12 \
441
+ --hours 6 --out configs/myarea.toml
442
+
443
+ # 2. Get data (ERA5 shown; the wizard prints the exact command)
444
+ gpuwm fetch --source era5 --cycle 1999-05-03T12 --hours 6 \
445
+ --area 25.4,-112.0,44.7,-83.0 --out data/myarea
446
+
447
+ # 3. Preflight, run, render
448
+ gpuwm check configs/myarea.toml
449
+ gpuwm run configs/myarea.toml --outdir out/myarea
450
+ gpuwm render out/myarea/wrfout_d01_* --out out/myarea/png
451
+ ```
452
+
453
+ Every run claims its own timestamped folder under the output directory,
454
+ so running the same configuration twice never overwrites the last run:
455
+ `out/myarea/png/run-20260817-041233Z_i202605171800Z/...` (the launch
456
+ instant, then the model's initialisation time, both UTC). `gpuwm go`
457
+ and `gpuwm sim` do the same for wrfout, receipts and logs; the download
458
+ stays cached at `<outdir>/data`. See
459
+ [docs/run-output-folders.md](docs/run-output-folders.md); `--run-stamp
460
+ off` restores the fixed paths releases up to 2.4.1 wrote.
461
+
462
+ Inside that folder, pictures are filed as
463
+ `<domain>/<product>/<valid-day>/<file>.png` -- one folder per nest, per
464
+ chart, per day, so a real run's thousands of frames are navigable and a
465
+ script can compute a path without globbing. See
466
+ [docs/render-output-layout.md](docs/render-output-layout.md);
467
+ `--layout flat` restores the single directory releases up to 2.4.1 wrote.
468
+
469
+ Live progress is `run-progress.json` in the output directory (atomic,
470
+ schema `gpuwm.run-progress/v1`); restart checkpoints are written every
471
+ `restart_interval_s` and `gpuwm resume` continues from the newest valid
472
+ one. `gpuwm branch` is resume's other half: a NEW run seeded from the
473
+ same checkpoint with changed settings, written to its own folder, with
474
+ the source run opened read-only and every setting a checkpoint binds
475
+ refused by name. See
476
+ [docs/branch-from-checkpoint.md](docs/branch-from-checkpoint.md).
477
+ That is this route, the `[case_data]` route. When you need to
478
+ resume, run a `[case_data]` experiment or a multi-domain config: both
479
+ checkpoint. The prepared single-domain forecaster writes none at any
480
+ `restart_interval_s`, and `gpuwm check` says so before you spend the
481
+ run. The `tools/` runners write a different file: the domain-tree
482
+ route writes `<outdir>/evidence/progress.json` and the single-domain
483
+ runners write `<outdir>/progress.json`.
484
+
485
+ ## What the output looks like
486
+
487
+ ![ArWen 500 m composite reflectivity, 17:30Z, +5h30m
488
+ lead](docs/public/img/showcase-d04-500m-reflectivity-1730z.png)
489
+
490
+ *Discrete supercells with 55-60 dBZ cores on the 500 m nest at a
491
+ sub-hourly valid time (+5 h 30 m) -- rendered by the built-in
492
+ production engine (`gpuwm render`).*
493
+
494
+ ![Significant tornado parameter, 3 km domain,
495
+ 18Z](docs/public/img/showcase-d02-stp-18z.png)
496
+
497
+ *Significant Tornado Parameter on the 3 km domain at +6 h from the same
498
+ run. The full catalog is 324 products (severe suite, isobaric charts,
499
+ surface fields, accumulations); `gpuwm render --list-products` shows
500
+ what any given file supports. The compute-expensive ECAPE family is
501
+ opt-in via `--heavy`.*
502
+
503
+ ## Feature matrix
504
+
505
+ | Area | Shipped in this release |
506
+ |---|---|
507
+ | Dynamics | WRF-ARW-class RK3 split-explicit core, FP32, CUDA; one-way static nests on Lambert-conformal, Mercator, or polar-stereographic grids |
508
+ | Microphysics | Kessler, WSM6, Thompson (default; WRF tables SHA-256-pinned -- the two largest ship as release assets and `gpuwm fetch-tables` stages whichever are absent, run automatically by install), Morrison 2-moment, NSSL 2-moment |
509
+ | PBL / surface layer | YSU + MM5 (classic); MYNN PBL + MYNN surface layer (coupled pair); Shin-Hong scale-aware, the gray-zone option, with either MM5 surface layer |
510
+ | Land surface | Noah (4-layer), Noah-MP, RUC (9-level) |
511
+ | Radiation | RTE+RRTMGP (default); legacy RRTMG (WRF 4/4 transcription, verification tier); Dudhia SW |
512
+ | Cumulus | Kain-Fritsch (outer domains) |
513
+ | Data | ERA5 (CDS), GFS 0.25-deg (NOMADS), HRRR (NOMADS or AWS S3, incl. a live-cycle `--wait-for` mode) all initialize a run; GDAS 0.25-deg (NOMADS) is **fetch and decode only through f009 -- no initialization route** (`rw-wps --source gdas` refuses). Fail-closed Rust GRIB bridges; `gpuwm fetch` download front door. Plus an experimental, not-yet-stock-WRF-gated 20CRv3 ensemble-member route for GRIB2 files you supply yourself (no fetch route) -- see [DATA.md](docs/public/DATA.md) |
514
+ | Domains | `gpuwm domain` wizard: point + card -> sized experiment TOML (16/24/32 GiB tiers) |
515
+ | Products | `gpuwm render`, two engines: vendored Rusty Weather renderer (default when built), whose vendored catalog carries 324 entries; the runtime lister enumerates 151 of them as implicit-render candidates per file (the rest are explicit-opt-in ensemble/probabilistic families) -- reflectivity composite/1 km, surface T/Td/RH/MSLP/wind/PWAT/cloud-cover families, the 200-850 mb isobaric charts (height/temp/dewpoint/RH/absolute-vorticity + winds), CAPE/CIN/SRH/shear/STP severe suite, heavy ECAPE family (`--heavy`), and multi-hour windowed accumulations -- everything a file's stored fields prove out renders (measured on the committed 3 km UH-smoke case: 58/58 on a single frame, 238 renders / 0 failures across its four-frame store, transcripts retained in the development tree under `evidence/render-receipts/`; `--list-products` prints the per-file verdict with a field-level reason for every unavailable row), with coast/state/county basemaps and sub-hourly leads stamped; `--engine matplotlib` is a named, self-announcing workaround (composite reflectivity, T2, 10 m wind, accumulated precipitation, OLR), never an automatic fallback — `--engine auto` refuses when the renderer is unusable; `--pair A B` composes two runs' PNGs into labeled comparison sheets |
516
+ | Lifecycle | `check` (input + VRAM preflight), `run`, `resume`, restart checkpoints, failure capsules. **Checkpoints are written on the `[case_data]` route (`gpuwm run`) and on the multi-domain prepared route; a single-domain config with no `[case_data]` table runs on the prepared single-domain forecaster, which writes none** -- `gpuwm check` says so before the run |
517
+ | Operational HRRR | `gpuwm stream PLAN.toml`: bounded hourly chunked restart-extend with immutable leg chains, exact-hour cycle succession, independent disk-volume gates, and crash-safe replay |
518
+ | Downscaling | `gpuwm downscale`: offline finer nest from archived gpuwm or WRF history (ndown-class) |
519
+ | WRF interop | `rw-wps` emits `wrfinput`/`wrfbdy` consumed by unchanged WRF v4.6.1 (see boundaries) |
520
+ | Namelists | `gpuwm import-namelist`: WRF namelist pair -> experiment TOML with an explicit substitution report |
521
+
522
+ ## Limits
523
+
524
+ Stated plainly, up front. What is not on this list runs: the physics
525
+ suite is yours to compose, `[shared]` and `[[domain]]` take WRF's
526
+ namelist keys verbatim, and a shipped preset is a shortcut to that same
527
+ loader rather than a gate on it
528
+ ([PHYSICS.md](docs/public/PHYSICS.md)).
529
+
530
+ - **Projection and location.** Lambert conformal (both hemispheres),
531
+ Mercator, and polar stereographic (both poles) run end to end --
532
+ wizard, config, static build, ERA5/GFS ingest, native WRF export --
533
+ and antimeridian-crossing domains are supported. What remains
534
+ refused: domains containing or touching a pole (the lat-lon source
535
+ interpolation and static-tile windowing are not pole-capable), and
536
+ forcing footprints wider than 180 degrees of longitude.
537
+ Latitude-longitude (cylindrical) and rotated grids stay unsupported
538
+ and fail closed.
539
+ - **Projection maturity.** The new projections (Mercator, polar
540
+ stereographic, southern-hemisphere Lambert) are oracle-verified and
541
+ smoke-run verified -- transcription gates at binary64 against a
542
+ Fortran oracle built from the pinned WRF v4.6.1
543
+ `share/module_llxy.F`, plus short GPU smoke integrations -- not
544
+ matched-run verified. The deep matched-run validation (the
545
+ historical reference family) exists for northern-hemisphere Lambert
546
+ only.
547
+ - **Nesting.** Static nests, plus discrete storm-following relocation:
548
+ a `[relocation]` table, default off, moves a child domain by a whole
549
+ number of parent cells at cycle boundaries, and `[relocation.follow]`
550
+ decides when and where from the running model's own updraft helicity
551
+ and column-max reflectivity. That is a sequence of static nests
552
+ joined by a re-grid, not WRF's continuous per-step motion, and WRF's
553
+ own moving-nest namelist keys stay refused and say so.
554
+ Children may start later on an exact
555
+ parent-step and forcing-cadence seam. One-way is the supported
556
+ default; two-way feedback (`feedback = 1`) ships as an EXPERIMENTAL
557
+ path -- it runs, it is stamped as experimental in the run's own
558
+ provenance, and one-way consumers refuse a feedback-modified parent.
559
+ It feeds back dynamic state only, where WRF also feeds back hundreds
560
+ of masked land-surface fields, so it is not a WRF-equivalent claim.
561
+ No vertical refinement, no adaptive time step.
562
+ - **Precision.** The model state is FP32 (like WRF's default REAL).
563
+ No end-to-end bit-identity with WRF is claimed anywhere; see
564
+ [VERIFICATION.md](docs/public/VERIFICATION.md) for exactly what is
565
+ claimed.
566
+ - **Data assimilation is experimental, and it is reachable.**
567
+ `gpuwm run` cold-starts from public analyses only; the ensemble and
568
+ DA machinery v1.2 added runs through experimental tools that nothing
569
+ else calls -- `tools/ensemble_forecast.py` (perturbed members, cycling
570
+ with an assimilation seam), `gpuwm enprod` (ensemble products), and
571
+ `tools/da_synthetic_cycle.py` (the composition gate). None of it is on
572
+ a certified forecast path, none of it has been calibrated against a
573
+ verification archive, and the perturbation library imposes no mass or
574
+ wind balance, perturbs no boundary forcing, and tapers laterally only.
575
+ Run `python -m tools.ensemble_forecast run --help`, which prints the
576
+ full limitation list before it does anything. See
577
+ [PROVENANCE.md](PROVENANCE.md) for the register entry.
578
+ The radar-DA nowcast built on that machinery
579
+ ([quickstart](docs/da-nowcast-quickstart.md)) is EXPERIMENTAL and
580
+ demo-grade on the same terms: UNSCORED, outside any registered
581
+ campaign, and it says so on every figure it draws.
582
+ - **Data routes.** All three sources drive ArWen GPU forecasts; they
583
+ differ in which door they use AND in which command runs the
584
+ forecast. ERA5 uses the config door: `[case_data]` in the experiment
585
+ TOML, read directly by `gpuwm run`. GFS and HRRR use the preprocessor
586
+ door: `rw-wps` converts them to `wrfinput`/`wrfbdy`, which drive
587
+ unchanged stock WRF and `gpuwm downscale` -- and which reach the
588
+ ArWen GPU loop through
589
+ `python -m gpuwm.prepared_single_domain_forecast` (one domain) or
590
+ `python -m gpuwm.prepared_domain_tree_forecast` (a nest ladder),
591
+ **not** through `gpuwm run`, which refuses a config with no
592
+ `[case_data]` table. For single-domain GFS, `gpuwm go <config>` runs
593
+ that whole sequence -- authority, fetch, front door, forecast,
594
+ render -- so none of its digests has to be carried by hand; the
595
+ sequence itself, and the routes `go` does not drive, are
596
+ [FIRST-LIGHT.md 3a](docs/public/FIRST-LIGHT.md).
597
+ HRRR remains CONUS (Lambert) only; worldwide points use GFS or ERA5,
598
+ both global.
599
+ - **Verification depth.** One case (a historical severe-weather
600
+ reference day, ERA5, four domains to
601
+ 500 m) is deeply validated against WRF v4.6.1; other configurations
602
+ inherit component-level evidence only. Physics options carry explicit
603
+ per-option maturity labels ([PHYSICS.md](docs/public/PHYSICS.md)).
604
+ - **Resolved scale.** The innermost demonstrated grid is 500 m. That
605
+ resolves supercell storm structure, cold pools, mesocyclone-scale
606
+ rotation, and the environmental and morphological severe-weather
607
+ diagnostics rendered on it -- 2-5 km updraft helicity, the
608
+ Significant Tornado Parameter, CAPE/CIN/SRH/shear.
609
+ It does not resolve tornado dynamics: the near-surface corner flow,
610
+ suction vortices, or tornado-scale wind intensity, which the
611
+ literature on tornado-like vortices places below roughly 25 m
612
+ horizontal and 10 m vertical spacing.
613
+ Read the STP/UH severe suite as a tornadic-supercell environment
614
+ and mesocyclone-proxy diagnostic, not as a resolved-tornado claim:
615
+ these are convection-permitting to sub-kilometer case studies,
616
+ not tornado-resolving simulations.
617
+ Sub-kilometer nests additionally sit in the PBL gray zone flagged
618
+ in [FIRST-LIGHT.md](docs/public/FIRST-LIGHT.md) (a 3-D turbulence
619
+ closure, SASE, is implemented but experimental -- see PHYSICS.md).
620
+ - **Platforms.** Developed and measured on Windows 11 + RTX 5090 and on
621
+ Linux CUDA 12.x nodes. The sealed Windows archive is CPU-preprocessing
622
+ only; Windows CUDA is exercised via the developer checkout.
623
+
624
+ ## Verification
625
+
626
+ ArWen is gated against WRF v4.6.1 (commit `d66e442f`) at three levels:
627
+ bit-level kernel oracles against unmodified WRF Fortran, t=0
628
+ initialization parity, and matched-run forecast comparisons. A sample
629
+ of the measured results:
630
+
631
+ | Gate | Scope | Measured result |
632
+ |---|---|---|
633
+ | t=0 parity | 4 domains, historical reference case | T2 MAE 0.000 K, corr 1.000 on every domain vs the WRF initial state |
634
+ | Matched 6 h forecast | d02 (3 km), 15Z | composite refl corr 0.985; >=20 dBZ echo area within 3 pixels of WRF's 14,227 |
635
+ | Matched 6 h forecast | d03 (1 km), 18Z | T2 MAE 0.347 K; refl corr 0.715 (convective-scale chaos floor; see the page) |
636
+ | Component oracles | legacy RRTMG LW/SW engines | max ULP 0 vs the transcription oracle over the full fixture decks |
637
+ | Determinism | mid-run kill + relaunch | regenerated output frames SHA256-identical |
638
+
639
+ What these numbers mean, what is deliberately not claimed, and how to
640
+ reproduce them: [VERIFICATION.md](docs/public/VERIFICATION.md).
641
+
642
+ Consumer GeForce cards have no ECC memory, and running the forecast
643
+ twice and comparing bytes is what stands in for it. That comparison is a
644
+ transient-fault screen inside a fixed numerical environment, not an ECC
645
+ replacement: it cannot detect a fault that is identical in both runs.
646
+ What it does detect, what it does not, and the pin set that defines
647
+ "fixed environment": [DETERMINISM.md](docs/public/DETERMINISM.md).
648
+
649
+ ## Documentation
650
+
651
+ - [First light walkthrough](docs/public/FIRST-LIGHT.md)
652
+ - [Glossary, for people who know WPS](docs/public/GLOSSARY.md)
653
+ - [Without a GPU: how far the chain runs with no card](docs/public/WITHOUT-A-GPU.md)
654
+ - [The pipeline, unbundled: running preprocessing, the simulation and rendering on your own terms](docs/public/PIPELINE-STAGES.md)
655
+ - [Verification](docs/public/VERIFICATION.md)
656
+ - [Determinism and the no-ECC dual-run screen](docs/public/DETERMINISM.md)
657
+ - [Physics options and maturity](docs/public/PHYSICS.md)
658
+ - [Overnight dewpoints far below the airmass](docs/public/NOCTURNAL-DEWPOINTS.md)
659
+ - [Configuration knobs (WRF namelist parity)](docs/public/CONFIGURATION.md)
660
+ - [Choosing which variables the wrfout files carry](docs/public/OUTPUT-VARIABLES.md)
661
+ - [Getting data](docs/public/DATA.md)
662
+ - [Sources at the domain wizard](docs/public/SOURCES.md)
663
+ - [Hardware and VRAM sizing](docs/public/HARDWARE.md)
664
+ - [Offline downscaling](docs/public/DOWNSCALE.md)
665
+ - [Chunked forecast streaming](docs/public/STREAMING.md)
666
+ - [Tiling a domain that does not fit on the card](docs/public/TILES.md)
667
+ - [Driving stock WRF](docs/public/WRF-INTEROP.md)
668
+ - [Install and verify](docs/install.md)
669
+ - [Radar-DA nowcast quickstart (demo-grade, unscored)](docs/da-nowcast-quickstart.md)
670
+ - [CLI reference](docs/cli-reference.md)
671
+ - [Driving gpuwm from a program (`gpuwm run-plan`)](docs/run-plan.md)
672
+ - [Arbitrary but verified GRIB adapters](docs/arbitrary-verified-adapters.md)
673
+ - [What `gpuwm adapt` validates, and what it trusts](docs/adapt-validation-contract.md)
674
+ - [Migrating from WPS](docs/migrating-from-wps.md)
675
+ - [Community support matrix](docs/community-support-matrix.md)
676
+ - [Reporting a problem](docs/public/REPORTING-A-PROBLEM.md)
677
+
678
+ ## Credits and provenance
679
+
680
+ ArWen was designed and directed by its author and implemented with
681
+ substantial use of AI coding agents (Anthropic's Claude, including
682
+ Claude Fable 5, with auditing by OpenAI models). All model code was
683
+ gated by verification against WRF v4.6.1 -- bit-level kernel oracles,
684
+ matched-run comparisons, and adversarial review -- rather than accepted
685
+ on generation. The verification methodology and its results are
686
+ documented in VERIFICATION.md.
687
+
688
+ The transcription authority for every WRF-derived mechanism is WRF
689
+ v4.6.1; deliberate deviations are registered in
690
+ [PROVENANCE.md](PROVENANCE.md). Radiation data files derive from AER's
691
+ RRTMG and the RTE+RRTMGP project; rendering uses the `wrf-rust`
692
+ package. See [NOTICE](NOTICE) for third-party acknowledgments.
693
+
694
+ ## License
695
+
696
+ Apache License 2.0 ([LICENSE](LICENSE)). Third-party datasets, tables,
697
+ vendored components, and dependencies retain their own terms
698
+ ([NOTICE](NOTICE)).