symfluence 0.7.7__tar.gz → 0.7.9__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 (1275) hide show
  1. {symfluence-0.7.7 → symfluence-0.7.9}/.gitignore +6 -0
  2. {symfluence-0.7.7 → symfluence-0.7.9}/PKG-INFO +1 -1
  3. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/binary_commands.py +87 -4
  4. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/build_snippets.py +19 -0
  5. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/tool_installer.py +16 -2
  6. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/model_configs.py +17 -0
  7. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/model_configs_hydrology.py +74 -6
  8. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/hdf5_safety.py +105 -9
  9. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/adapters/process_adapters.py +11 -14
  10. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/base_dataset.py +19 -0
  11. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/processors/taudem_executor.py +11 -1
  12. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/build_instructions.py +9 -0
  13. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/runner.py +8 -1
  14. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/distributed.py +15 -8
  15. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/build_instructions.py +17 -19
  16. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/calibration/parameter_manager.py +5 -5
  17. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/config.py +13 -0
  18. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/preprocessor.py +62 -19
  19. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/runner.py +8 -1
  20. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/build_instructions.py +9 -4
  21. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/build_instructions.py +49 -13
  22. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/calibration/worker.py +2 -1
  23. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/runner.py +9 -1
  24. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/core/base_plotter.py +2 -2
  25. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/config_template_comprehensive.yaml +25 -26
  26. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/config_template_comprehensive_nested.yaml +4 -1
  27. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/symfluence_version.py +1 -1
  28. {symfluence-0.7.7 → symfluence-0.7.9}/0_config_files/README.md +0 -0
  29. {symfluence-0.7.7 → symfluence-0.7.9}/LICENSE +0 -0
  30. {symfluence-0.7.7 → symfluence-0.7.9}/MANIFEST.in +0 -0
  31. {symfluence-0.7.7 → symfluence-0.7.9}/README.md +0 -0
  32. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/.gitignore +0 -0
  33. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/01a_point_scale_snotel.ipynb +0 -0
  34. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/01b_point_scale_fluxnet.ipynb +0 -0
  35. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/config_fluxnet_CA-NS7.yaml +0 -0
  36. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/config_paradise.yaml +0 -0
  37. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/configs/config_paradise_summa_optimization.yaml +0 -0
  38. {symfluence-0.7.7 → symfluence-0.7.9}/examples/01_point_vertical_flux_estimation/configs/config_paradise_swe_only.yaml +0 -0
  39. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/.gitignore +0 -0
  40. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/02a_basin_lumped.ipynb +0 -0
  41. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/02b_basin_semi_distributed.ipynb +0 -0
  42. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/02b_troute_routing.ipynb +0 -0
  43. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/02c_basin_distributed.ipynb +0 -0
  44. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/config_basin_lumped.yaml +0 -0
  45. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/config_basin_lumped_anvil.yaml +0 -0
  46. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/config_elevation_distributed.yaml +0 -0
  47. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/config_iceland_tutorial.yaml +0 -0
  48. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/config_north_america_tutorial.yaml +0 -0
  49. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/config_semi_distributed.yaml +0 -0
  50. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_bow_rdrs_optimization.yaml +0 -0
  51. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_bow_summa_optimization.yaml +0 -0
  52. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_durance_france_summa_calibration.yaml +0 -0
  53. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_ellioaar_calibration.yaml +0 -0
  54. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_ellioaar_fluxcom_et.yaml +0 -0
  55. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_ellioaar_grace_tws.yaml +0 -0
  56. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_ellioaar_profiling.yaml +0 -0
  57. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_ellioaar_summa_optimization.yaml +0 -0
  58. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_fyris_calibration.yaml +0 -0
  59. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_fyris_esa_sm.yaml +0 -0
  60. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_fyris_ismn.yaml +0 -0
  61. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_fyris_smap.yaml +0 -0
  62. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_fyris_summa_optimization.yaml +0 -0
  63. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_gulkana_dual_calibration.yaml +0 -0
  64. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_gulkana_full_pipeline.yaml +0 -0
  65. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_obrien_creek_rhessys_vmfire.yaml +0 -0
  66. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_provo_summa_optimization.yaml +0 -0
  67. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_sca_modis.yaml +0 -0
  68. {symfluence-0.7.7 → symfluence-0.7.9}/examples/02_watershed_modelling/configs/config_wolverine_glacier.yaml +0 -0
  69. {symfluence-0.7.7 → symfluence-0.7.9}/examples/03_large_domain_simulation/.gitignore +0 -0
  70. {symfluence-0.7.7 → symfluence-0.7.9}/examples/03_large_domain_simulation/03a_domain_regional.ipynb +0 -0
  71. {symfluence-0.7.7 → symfluence-0.7.9}/examples/03_large_domain_simulation/03b_domain_continental.ipynb +0 -0
  72. {symfluence-0.7.7 → symfluence-0.7.9}/examples/03_large_domain_simulation/config_iceland_tutorial.yaml +0 -0
  73. {symfluence-0.7.7 → symfluence-0.7.9}/examples/03_large_domain_simulation/config_north_america_tutorial.yaml +0 -0
  74. {symfluence-0.7.7 → symfluence-0.7.9}/examples/04_workshop_notebooks/04a_logan_river_workshop.ipynb +0 -0
  75. {symfluence-0.7.7 → symfluence-0.7.9}/examples/04_workshop_notebooks/04b_provo_river_workshop.ipynb +0 -0
  76. {symfluence-0.7.7 → symfluence-0.7.9}/examples/04_workshop_notebooks/04c_sagehen_creek_workshop.ipynb +0 -0
  77. {symfluence-0.7.7 → symfluence-0.7.9}/examples/04_workshop_notebooks/config_logan_river_lumped.yaml +0 -0
  78. {symfluence-0.7.7 → symfluence-0.7.9}/examples/04_workshop_notebooks/config_provo_river_lumped.yaml +0 -0
  79. {symfluence-0.7.7 → symfluence-0.7.9}/examples/04_workshop_notebooks/config_sagehen_creek_coupled.yaml +0 -0
  80. {symfluence-0.7.7 → symfluence-0.7.9}/examples/README.md +0 -0
  81. {symfluence-0.7.7 → symfluence-0.7.9}/npm/README.md +0 -0
  82. {symfluence-0.7.7 → symfluence-0.7.9}/pyproject.toml +0 -0
  83. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/__init__.py +0 -0
  84. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/__main__.py +0 -0
  85. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/__init__.py +0 -0
  86. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/agent_manager.py +0 -0
  87. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/api_client.py +0 -0
  88. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/code_analyzer.py +0 -0
  89. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/code_search.py +0 -0
  90. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/conversation_manager.py +0 -0
  91. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/file_operations.py +0 -0
  92. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/pr_manager.py +0 -0
  93. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/system_prompts.py +0 -0
  94. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/test_runner.py +0 -0
  95. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/tool_executor.py +0 -0
  96. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/agent/tool_registry.py +0 -0
  97. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/__init__.py +0 -0
  98. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/argument_parser.py +0 -0
  99. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/binary_service.py +0 -0
  100. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/__init__.py +0 -0
  101. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/agent_commands.py +0 -0
  102. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/base.py +0 -0
  103. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/config_commands.py +0 -0
  104. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/data_commands.py +0 -0
  105. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/doctor_commands.py +0 -0
  106. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/example_commands.py +0 -0
  107. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/fews_commands.py +0 -0
  108. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/gui_commands.py +0 -0
  109. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/job_commands.py +0 -0
  110. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/project_commands.py +0 -0
  111. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/tui_commands.py +0 -0
  112. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/commands/workflow_commands.py +0 -0
  113. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/console.py +0 -0
  114. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/exit_codes.py +0 -0
  115. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/external_tools_build_commands.py +0 -0
  116. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/external_tools_config.py +0 -0
  117. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/init_presets.py +0 -0
  118. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/preset_registry.py +0 -0
  119. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/__init__.py +0 -0
  120. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/base.py +0 -0
  121. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/build_registry.py +0 -0
  122. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/build_schema.py +0 -0
  123. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/initialization.py +0 -0
  124. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/job_scheduler.py +0 -0
  125. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/notebook.py +0 -0
  126. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/system_deps.py +0 -0
  127. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/system_diagnostics.py +0 -0
  128. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/services/tool_validator.py +0 -0
  129. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/validators.py +0 -0
  130. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/wizard/__init__.py +0 -0
  131. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/wizard/project_wizard.py +0 -0
  132. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/wizard/prompts.py +0 -0
  133. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/wizard/questions.py +0 -0
  134. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli/wizard/state.py +0 -0
  135. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/cli.py +0 -0
  136. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/__init__.py +0 -0
  137. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/_bootstrap.py +0 -0
  138. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/base_manager.py +0 -0
  139. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/__init__.py +0 -0
  140. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/canonical_mappings.py +0 -0
  141. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/coercion.py +0 -0
  142. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/config_loader.py +0 -0
  143. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/constants.py +0 -0
  144. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/defaults.py +0 -0
  145. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/factories.py +0 -0
  146. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/flattening.py +0 -0
  147. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/introspection.py +0 -0
  148. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/legacy_aliases.py +0 -0
  149. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/mapping_validation.py +0 -0
  150. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/__init__.py +0 -0
  151. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/base.py +0 -0
  152. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/data.py +0 -0
  153. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/domain.py +0 -0
  154. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/evaluation.py +0 -0
  155. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/forcing.py +0 -0
  156. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/model_config_types.py +0 -0
  157. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/model_configs_integrated.py +0 -0
  158. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/model_configs_ml_fire.py +0 -0
  159. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/model_configs_routing.py +0 -0
  160. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/optimization.py +0 -0
  161. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/paths.py +0 -0
  162. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/root.py +0 -0
  163. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/state_config.py +0 -0
  164. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/models/system.py +0 -0
  165. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/config/transformers.py +0 -0
  166. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/constants.py +0 -0
  167. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/exceptions.py +0 -0
  168. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/file_utils.py +0 -0
  169. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/__init__.py +0 -0
  170. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/config.py +0 -0
  171. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/configurable.py +0 -0
  172. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/file_utils.py +0 -0
  173. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/logging.py +0 -0
  174. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/project.py +0 -0
  175. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/shapefile.py +0 -0
  176. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/timing.py +0 -0
  177. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/mixins/validation.py +0 -0
  178. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/path_resolver.py +0 -0
  179. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/profiling/__init__.py +0 -0
  180. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/profiling/io_profiler.py +0 -0
  181. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/profiling/platform_monitors.py +0 -0
  182. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/profiling/profiler_context.py +0 -0
  183. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/profiling/system_io_profiler.py +0 -0
  184. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/provenance.py +0 -0
  185. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/registries.py +0 -0
  186. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/registry.py +0 -0
  187. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/result.py +0 -0
  188. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/stage_marker.py +0 -0
  189. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/system.py +0 -0
  190. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/core/validation.py +0 -0
  191. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/__init__.py +0 -0
  192. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/adapters/__init__.py +0 -0
  193. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/adapters/jax_adapters.py +0 -0
  194. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/bmi_registry.py +0 -0
  195. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/diagnostics.py +0 -0
  196. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/graph_builder.py +0 -0
  197. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/coupling/worker.py +0 -0
  198. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/__init__.py +0 -0
  199. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/__init__.py +0 -0
  200. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/acquisition_service.py +0 -0
  201. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/base.py +0 -0
  202. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/cleanup_processor.py +0 -0
  203. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/cloud_downloader.py +0 -0
  204. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/__init__.py +0 -0
  205. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/aorc.py +0 -0
  206. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/appeears_base.py +0 -0
  207. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/aridity_index.py +0 -0
  208. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/ascat_sm.py +0 -0
  209. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/bedrock_depth.py +0 -0
  210. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/canopy_height.py +0 -0
  211. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/cds_datasets.py +0 -0
  212. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/chirps.py +0 -0
  213. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/cmc_snow.py +0 -0
  214. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/cnes_grgs_tws.py +0 -0
  215. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/conus404.py +0 -0
  216. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/daymet.py +0 -0
  217. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/dem.py +0 -0
  218. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/earthaccess_base.py +0 -0
  219. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/em_earth.py +0 -0
  220. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/era5.py +0 -0
  221. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/era5_cds.py +0 -0
  222. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/era5_land.py +0 -0
  223. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/era5_processing.py +0 -0
  224. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/esa_cci_sm.py +0 -0
  225. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/fluxcom_et.py +0 -0
  226. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/fluxnet.py +0 -0
  227. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/fluxnet_constants.py +0 -0
  228. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/glacier.py +0 -0
  229. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/gldas_tws.py +0 -0
  230. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/gleam_et.py +0 -0
  231. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/glhymps.py +0 -0
  232. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/globsnow.py +0 -0
  233. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/glwd.py +0 -0
  234. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/gpm.py +0 -0
  235. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/grace.py +0 -0
  236. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/grdc.py +0 -0
  237. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/gssurgo.py +0 -0
  238. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/hrrr.py +0 -0
  239. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/hydrolakes.py +0 -0
  240. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/hydrosheds.py +0 -0
  241. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/ims_snow.py +0 -0
  242. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/ismn.py +0 -0
  243. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/jrc_water.py +0 -0
  244. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/landcover.py +0 -0
  245. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/merit_basins.py +0 -0
  246. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/merit_hydro.py +0 -0
  247. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/merra2.py +0 -0
  248. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/modis.py +0 -0
  249. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/modis_et.py +0 -0
  250. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/modis_lai.py +0 -0
  251. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/modis_lst.py +0 -0
  252. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/modis_ndvi.py +0 -0
  253. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/modis_sca.py +0 -0
  254. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/mswep.py +0 -0
  255. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/nex_gddp.py +0 -0
  256. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/nws_hydrofabric.py +0 -0
  257. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/openet.py +0 -0
  258. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/pelletier.py +0 -0
  259. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/polaris.py +0 -0
  260. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/rdrs.py +0 -0
  261. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/root_zone_storage.py +0 -0
  262. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/sentinel1_sm.py +0 -0
  263. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/sentinel2_snow.py +0 -0
  264. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/smap.py +0 -0
  265. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/smos_sm.py +0 -0
  266. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/snodas.py +0 -0
  267. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/soilgrids.py +0 -0
  268. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/soilgrids_properties.py +0 -0
  269. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/ssebop.py +0 -0
  270. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/tdx_hydro.py +0 -0
  271. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/viirs_snow.py +0 -0
  272. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/handlers/wokam.py +0 -0
  273. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/maf_pipeline.py +0 -0
  274. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/maf_processor.py +0 -0
  275. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/mixins/__init__.py +0 -0
  276. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/mixins/chunked.py +0 -0
  277. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/mixins/retry.py +0 -0
  278. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/mixins/spatial.py +0 -0
  279. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/observed_processor.py +0 -0
  280. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/registry.py +0 -0
  281. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/utils.py +0 -0
  282. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/acquisition/zonal_stats_processor.py +0 -0
  283. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/base_registry.py +0 -0
  284. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/cache/__init__.py +0 -0
  285. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/cache/forcing_cache.py +0 -0
  286. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/data_manager.py +0 -0
  287. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/__init__.py +0 -0
  288. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/attributes_builder.py +0 -0
  289. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/cf_conventions.py +0 -0
  290. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/forcings_builder.py +0 -0
  291. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/observations_builder.py +0 -0
  292. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/path_resolver.py +0 -0
  293. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/source_metadata.py +0 -0
  294. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/model_ready/store_builder.py +0 -0
  295. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/__init__.py +0 -0
  296. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/base.py +0 -0
  297. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/__init__.py +0 -0
  298. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/canopy_height.py +0 -0
  299. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/canswe.py +0 -0
  300. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/chirps.py +0 -0
  301. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/cmc_snow.py +0 -0
  302. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/cnes_grgs_tws.py +0 -0
  303. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/daymet.py +0 -0
  304. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/era5_land.py +0 -0
  305. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/fluxcom.py +0 -0
  306. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/fluxnet.py +0 -0
  307. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/ggmn.py +0 -0
  308. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/gldas_tws.py +0 -0
  309. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/gleam.py +0 -0
  310. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/gpm.py +0 -0
  311. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/grace.py +0 -0
  312. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/grdc.py +0 -0
  313. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/hubeau.py +0 -0
  314. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/ims_snow.py +0 -0
  315. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/jrc_water.py +0 -0
  316. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/lamah_ice.py +0 -0
  317. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/modis_et.py +0 -0
  318. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/modis_lai.py +0 -0
  319. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/modis_lst.py +0 -0
  320. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/modis_snow.py +0 -0
  321. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/modis_utils.py +0 -0
  322. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/mswep.py +0 -0
  323. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/openet.py +0 -0
  324. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/sentinel1_sm.py +0 -0
  325. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/smhi.py +0 -0
  326. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/snodas.py +0 -0
  327. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/snotel.py +0 -0
  328. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/soil_moisture.py +0 -0
  329. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/ssebop.py +0 -0
  330. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/usgs.py +0 -0
  331. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/viirs_snow.py +0 -0
  332. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/handlers/wsc.py +0 -0
  333. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/paths.py +0 -0
  334. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/observation/registry.py +0 -0
  335. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/path_manager.py +0 -0
  336. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/__init__.py +0 -0
  337. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processing.py +0 -0
  338. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processor.py +0 -0
  339. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/__init__.py +0 -0
  340. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/base.py +0 -0
  341. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/climate.py +0 -0
  342. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/elevation.py +0 -0
  343. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/geology.py +0 -0
  344. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/hydrology.py +0 -0
  345. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/landcover.py +0 -0
  346. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/soil.py +0 -0
  347. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/attribute_processors/utils.py +0 -0
  348. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/cfif/__init__.py +0 -0
  349. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/cfif/units.py +0 -0
  350. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/cfif/variables.py +0 -0
  351. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_alignment_manager.py +0 -0
  352. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/__init__.py +0 -0
  353. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/aorc_utils.py +0 -0
  354. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/carra_utils.py +0 -0
  355. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/casr_utils.py +0 -0
  356. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/cerra_utils.py +0 -0
  357. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/conus404_utils.py +0 -0
  358. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/dataset_registry.py +0 -0
  359. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/daymet_utils.py +0 -0
  360. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/era5_utils.py +0 -0
  361. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/hrrr_utils.py +0 -0
  362. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/nex_gddp_utils.py +0 -0
  363. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/dataset_handlers/rdrs_utils.py +0 -0
  364. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/elevation_calculator.py +0 -0
  365. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/em_earth_integrator.py +0 -0
  366. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/forcing_resampler.py +0 -0
  367. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/geospatial_statistics.py +0 -0
  368. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/remapping_weights.py +0 -0
  369. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/__init__.py +0 -0
  370. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/elevation_calculator.py +0 -0
  371. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/file_processor.py +0 -0
  372. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/file_validator.py +0 -0
  373. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/geometry_validator.py +0 -0
  374. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/point_scale_extractor.py +0 -0
  375. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/shapefile_processor.py +0 -0
  376. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/weight_applier.py +0 -0
  377. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/resampling/weight_generator.py +0 -0
  378. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/shapefile_manager.py +0 -0
  379. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/preprocessing/time_window_manager.py +0 -0
  380. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/utils/__init__.py +0 -0
  381. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/utils/archive_utils.py +0 -0
  382. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/utils/netcdf_utils.py +0 -0
  383. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/utils/spatial_utils.py +0 -0
  384. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data/utils/variable_utils.py +0 -0
  385. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/__init__.py +0 -0
  386. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/config.py +0 -0
  387. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/da_manager.py +0 -0
  388. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/diagnostics.py +0 -0
  389. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/enkf/__init__.py +0 -0
  390. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/enkf/enkf_algorithm.py +0 -0
  391. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/enkf/ensemble_manager.py +0 -0
  392. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/enkf/observation_operator.py +0 -0
  393. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/enkf/perturbation.py +0 -0
  394. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/enkf/state_vector.py +0 -0
  395. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/data_assimilation/output.py +0 -0
  396. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/__init__.py +0 -0
  397. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/analysis_manager.py +0 -0
  398. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/analysis_registry.py +0 -0
  399. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/base.py +0 -0
  400. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/benchmarking.py +0 -0
  401. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/__init__.py +0 -0
  402. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/base.py +0 -0
  403. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/et.py +0 -0
  404. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/groundwater.py +0 -0
  405. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/snow.py +0 -0
  406. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/soil_moisture.py +0 -0
  407. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/streamflow.py +0 -0
  408. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/evaluators/tws.py +0 -0
  409. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/koopman_analysis.py +0 -0
  410. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/metric_transformer.py +0 -0
  411. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/metrics.py +0 -0
  412. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/metrics_core.py +0 -0
  413. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/metrics_hydrograph.py +0 -0
  414. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/metrics_registry.py +0 -0
  415. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/metrics_types.py +0 -0
  416. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/output_file_locator.py +0 -0
  417. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/registry.py +0 -0
  418. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/sensitivity_analysis.py +0 -0
  419. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/structure_ensemble.py +0 -0
  420. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/utilities/__init__.py +0 -0
  421. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/evaluation/utilities/streamflow_metrics.py +0 -0
  422. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/__init__.py +0 -0
  423. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/config.py +0 -0
  424. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/exceptions.py +0 -0
  425. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/id_map.py +0 -0
  426. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/netcdf_cf.py +0 -0
  427. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/pi_diagnostics.py +0 -0
  428. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/pi_xml.py +0 -0
  429. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/post_adapter.py +0 -0
  430. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/pre_adapter.py +0 -0
  431. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/run_info.py +0 -0
  432. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/fews/state.py +0 -0
  433. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/__init__.py +0 -0
  434. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/coordinate_utils.py +0 -0
  435. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/delineation.py +0 -0
  436. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/delineation_protocol.py +0 -0
  437. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/delineation_registry.py +0 -0
  438. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/__init__.py +0 -0
  439. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/artifacts.py +0 -0
  440. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/__init__.py +0 -0
  441. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/aspect.py +0 -0
  442. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/combined.py +0 -0
  443. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/elevation.py +0 -0
  444. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/grus.py +0 -0
  445. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/landclass.py +0 -0
  446. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/radiation.py +0 -0
  447. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/attributes/soilclass.py +0 -0
  448. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/discretization/core.py +0 -0
  449. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/domain_manager.py +0 -0
  450. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/exceptions.py +0 -0
  451. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/__init__.py +0 -0
  452. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/base/__init__.py +0 -0
  453. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/base/base_delineator.py +0 -0
  454. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/base/base_processor.py +0 -0
  455. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/__init__.py +0 -0
  456. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/coastal_delineator.py +0 -0
  457. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/distributed_delineator.py +0 -0
  458. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/grid_delineator.py +0 -0
  459. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/lumped_delineator.py +0 -0
  460. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/point_delineator.py +0 -0
  461. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/delineators/subsetter.py +0 -0
  462. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/methods/__init__.py +0 -0
  463. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/methods/curvature.py +0 -0
  464. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/methods/drop_analysis.py +0 -0
  465. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/methods/multi_scale.py +0 -0
  466. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/methods/slope_area.py +0 -0
  467. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/methods/stream_threshold.py +0 -0
  468. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/processors/__init__.py +0 -0
  469. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/processors/gdal_processor.py +0 -0
  470. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/processors/geometry_processor.py +0 -0
  471. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/processors/graph_processor.py +0 -0
  472. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/processors/stream_burner.py +0 -0
  473. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/utils/__init__.py +0 -0
  474. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/utils/crs_utils.py +0 -0
  475. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/utils/io_utils.py +0 -0
  476. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geofabric/utils/validation.py +0 -0
  477. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/geometry_utils.py +0 -0
  478. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/geospatial/raster_utils.py +0 -0
  479. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/__init__.py +0 -0
  480. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/app.py +0 -0
  481. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/__init__.py +0 -0
  482. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/analysis_panel.py +0 -0
  483. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/attributes_panel.py +0 -0
  484. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/calibration_panel.py +0 -0
  485. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/command_panel.py +0 -0
  486. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/config_editor.py +0 -0
  487. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/data_panel.py +0 -0
  488. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/discretization_panel.py +0 -0
  489. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/domain_browser.py +0 -0
  490. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/domain_panel.py +0 -0
  491. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/forcings_panel.py +0 -0
  492. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/gauge_setup_panel.py +0 -0
  493. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/iterative_run_panel.py +0 -0
  494. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/log_viewer.py +0 -0
  495. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/map_view.py +0 -0
  496. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/model_panel.py +0 -0
  497. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/progress_panel.py +0 -0
  498. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/raster_layer.py +0 -0
  499. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/results_viewer.py +0 -0
  500. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/components/workflow_runner.py +0 -0
  501. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/data/__init__.py +0 -0
  502. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/data/gauge_provider.py +0 -0
  503. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/data/gauge_store.py +0 -0
  504. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/data/results_loader.py +0 -0
  505. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/models/__init__.py +0 -0
  506. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/models/config_params.py +0 -0
  507. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/models/workflow_state.py +0 -0
  508. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/server.py +0 -0
  509. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/utils/__init__.py +0 -0
  510. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/utils/config_bridge.py +0 -0
  511. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/utils/telemetry.py +0 -0
  512. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/gui/utils/threading_utils.py +0 -0
  513. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/main_cli.py +0 -0
  514. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/__init__.py +0 -0
  515. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/adapters/__init__.py +0 -0
  516. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/adapters/adapter_registry.py +0 -0
  517. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/adapters/base_adapter.py +0 -0
  518. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/__init__.py +0 -0
  519. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/base_config.py +0 -0
  520. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/base_extractor.py +0 -0
  521. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/base_postprocessor.py +0 -0
  522. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/base_preprocessor.py +0 -0
  523. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/base_runner.py +0 -0
  524. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/protocols.py +0 -0
  525. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/base/standard_postprocessor.py +0 -0
  526. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/__init__.py +0 -0
  527. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/build_instructions.py +0 -0
  528. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/calibration/__init__.py +0 -0
  529. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/calibration/optimizer.py +0 -0
  530. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/calibration/parameter_manager.py +0 -0
  531. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/calibration/targets.py +0 -0
  532. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/calibration/worker.py +0 -0
  533. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/config.py +0 -0
  534. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/extractor.py +0 -0
  535. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/postprocessor.py +0 -0
  536. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/preprocessor.py +0 -0
  537. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/cfuse/runner.py +0 -0
  538. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/__init__.py +0 -0
  539. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/calibration/__init__.py +0 -0
  540. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/calibration/optimizer.py +0 -0
  541. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/calibration/parameter_manager.py +0 -0
  542. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/calibration/worker.py +0 -0
  543. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/config.py +0 -0
  544. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/domain_generator.py +0 -0
  545. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/extractor.py +0 -0
  546. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/forcing_processor.py +0 -0
  547. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/nuopc_generator.py +0 -0
  548. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/postprocessor.py +0 -0
  549. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/preprocessor.py +0 -0
  550. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/runner.py +0 -0
  551. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clm/surface_generator.py +0 -0
  552. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/__init__.py +0 -0
  553. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/build_instructions.py +0 -0
  554. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/calibration/__init__.py +0 -0
  555. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/calibration/optimizer.py +0 -0
  556. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/calibration/parameter_manager.py +0 -0
  557. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/calibration/targets.py +0 -0
  558. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/calibration/worker.py +0 -0
  559. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/config.py +0 -0
  560. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/extractor.py +0 -0
  561. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/plotter.py +0 -0
  562. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/postprocessor.py +0 -0
  563. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/clmparflow/preprocessor.py +0 -0
  564. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/config/__init__.py +0 -0
  565. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/config/model_config_schema.py +0 -0
  566. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/__init__.py +0 -0
  567. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/build_instructions.py +0 -0
  568. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/calibration/__init__.py +0 -0
  569. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/calibration/optimizer.py +0 -0
  570. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/calibration/parameter_manager.py +0 -0
  571. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/calibration/worker.py +0 -0
  572. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/config.py +0 -0
  573. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/extractor.py +0 -0
  574. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/parameters.py +0 -0
  575. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/postprocessor.py +0 -0
  576. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/preprocessor.py +0 -0
  577. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/crhm/runner.py +0 -0
  578. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/__init__.py +0 -0
  579. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/build_instructions.py +0 -0
  580. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/calibration/__init__.py +0 -0
  581. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/calibration/optimizer.py +0 -0
  582. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/calibration/parameter_manager.py +0 -0
  583. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/calibration/worker.py +0 -0
  584. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/config.py +0 -0
  585. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/extractor.py +0 -0
  586. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/mixins.py +0 -0
  587. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/network_adapter.py +0 -0
  588. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/postprocessor.py +0 -0
  589. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/preprocessor.py +0 -0
  590. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/droute/runner.py +0 -0
  591. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/execution/__init__.py +0 -0
  592. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/execution/model_executor.py +0 -0
  593. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/execution/spatial_orchestrator.py +0 -0
  594. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/execution/unified_executor.py +0 -0
  595. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/__init__.py +0 -0
  596. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/build_instructions.py +0 -0
  597. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/__init__.py +0 -0
  598. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/file_manager.py +0 -0
  599. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/metrics_calculation.py +0 -0
  600. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/model_execution.py +0 -0
  601. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/multi_gauge_metrics.py +0 -0
  602. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/optimizer.py +0 -0
  603. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/parameter_application.py +0 -0
  604. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/parameter_manager.py +0 -0
  605. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/parameter_regionalization.py +0 -0
  606. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/targets.py +0 -0
  607. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/transfer_functions.py +0 -0
  608. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/calibration/worker.py +0 -0
  609. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/config.py +0 -0
  610. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/elevation_band_manager.py +0 -0
  611. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/extractor.py +0 -0
  612. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/forcing_adapter.py +0 -0
  613. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/forcing_processor.py +0 -0
  614. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/init_preset.py +0 -0
  615. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/plotter.py +0 -0
  616. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/postprocessor.py +0 -0
  617. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/preprocessor.py +0 -0
  618. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/runner.py +0 -0
  619. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/structure_analyzer.py +0 -0
  620. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/subcatchment_processor.py +0 -0
  621. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/synthetic_data_generator.py +0 -0
  622. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/utilities/__init__.py +0 -0
  623. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/utilities/mizuroute_converter.py +0 -0
  624. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/fuse/visualizer.py +0 -0
  625. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/__init__.py +0 -0
  626. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/calibration/__init__.py +0 -0
  627. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/calibration/optimizer.py +0 -0
  628. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/calibration/parameter_manager.py +0 -0
  629. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/calibration/worker.py +0 -0
  630. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/config.py +0 -0
  631. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/extractor.py +0 -0
  632. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/model.py +0 -0
  633. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/postprocessor.py +0 -0
  634. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/preprocessor.py +0 -0
  635. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gnn/runner.py +0 -0
  636. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/__init__.py +0 -0
  637. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/calibration/__init__.py +0 -0
  638. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/calibration/optimizer.py +0 -0
  639. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/calibration/parameter_manager.py +0 -0
  640. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/calibration/targets.py +0 -0
  641. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/calibration/worker.py +0 -0
  642. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/config.py +0 -0
  643. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/extractor.py +0 -0
  644. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/forcing_adapter.py +0 -0
  645. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/postprocessor.py +0 -0
  646. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/preprocessor.py +0 -0
  647. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/runner.py +0 -0
  648. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gr/visualizer.py +0 -0
  649. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/__init__.py +0 -0
  650. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/build_instructions.py +0 -0
  651. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/calibration/__init__.py +0 -0
  652. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/calibration/optimizer.py +0 -0
  653. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/calibration/parameter_manager.py +0 -0
  654. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/calibration/worker.py +0 -0
  655. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/config.py +0 -0
  656. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/coupling.py +0 -0
  657. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/extractor.py +0 -0
  658. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/parameters.py +0 -0
  659. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/postprocessor.py +0 -0
  660. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/preprocessor.py +0 -0
  661. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/gsflow/runner.py +0 -0
  662. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/__init__.py +0 -0
  663. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/calibration/__init__.py +0 -0
  664. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/calibration/optimizer.py +0 -0
  665. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/calibration/parameter_manager.py +0 -0
  666. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/calibration/worker.py +0 -0
  667. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/compare_solvers.py +0 -0
  668. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/config.py +0 -0
  669. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/extractor.py +0 -0
  670. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/hbv_ode.py +0 -0
  671. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/losses.py +0 -0
  672. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/model.py +0 -0
  673. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/network.py +0 -0
  674. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/optimizers.py +0 -0
  675. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/parameters.py +0 -0
  676. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/postprocessor.py +0 -0
  677. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/preprocessor.py +0 -0
  678. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/regionalization.py +0 -0
  679. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/routing.py +0 -0
  680. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/runner.py +0 -0
  681. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hbv/time_utils.py +0 -0
  682. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/__init__.py +0 -0
  683. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/calibration/__init__.py +0 -0
  684. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/calibration/optimizer.py +0 -0
  685. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/calibration/parameter_manager.py +0 -0
  686. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/calibration/worker.py +0 -0
  687. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/config.py +0 -0
  688. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/extractor.py +0 -0
  689. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/losses.py +0 -0
  690. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/model.py +0 -0
  691. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/parameters.py +0 -0
  692. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/postprocessor.py +0 -0
  693. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/preprocessor.py +0 -0
  694. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hechms/runner.py +0 -0
  695. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/__init__.py +0 -0
  696. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/build_instructions.py +0 -0
  697. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/calibration/__init__.py +0 -0
  698. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/calibration/optimizer.py +0 -0
  699. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/calibration/parameter_manager.py +0 -0
  700. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/calibration/targets.py +0 -0
  701. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/calibration/worker.py +0 -0
  702. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/config.py +0 -0
  703. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/config_manager.py +0 -0
  704. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/extractor.py +0 -0
  705. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/forcing_adapter.py +0 -0
  706. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/forcing_processor.py +0 -0
  707. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/geodata_manager.py +0 -0
  708. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/plotter.py +0 -0
  709. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/postprocessor.py +0 -0
  710. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/preprocessor.py +0 -0
  711. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/runner.py +0 -0
  712. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/hype/visualizer.py +0 -0
  713. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/__init__.py +0 -0
  714. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/build_instructions.py +0 -0
  715. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/calibration/__init__.py +0 -0
  716. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/calibration/optimizer.py +0 -0
  717. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/calibration/parameter_manager.py +0 -0
  718. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/calibration/worker.py +0 -0
  719. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/config.py +0 -0
  720. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/extractor.py +0 -0
  721. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/postprocessor.py +0 -0
  722. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/preprocessor.py +0 -0
  723. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ignacio/runner.py +0 -0
  724. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/__init__.py +0 -0
  725. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/calibration/__init__.py +0 -0
  726. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/calibration/optimizer.py +0 -0
  727. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/calibration/parameter_manager.py +0 -0
  728. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/calibration/transfer_functions.py +0 -0
  729. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/calibration/worker.py +0 -0
  730. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/config.py +0 -0
  731. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/extractor.py +0 -0
  732. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/postprocessor.py +0 -0
  733. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/preprocessor.py +0 -0
  734. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/jfuse/runner.py +0 -0
  735. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/__init__.py +0 -0
  736. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/calibration/__init__.py +0 -0
  737. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/calibration/optimizer.py +0 -0
  738. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/calibration/parameter_manager.py +0 -0
  739. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/calibration/worker.py +0 -0
  740. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/config.py +0 -0
  741. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/extractor.py +0 -0
  742. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/model.py +0 -0
  743. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/plotter.py +0 -0
  744. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/postprocessor.py +0 -0
  745. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/preprocessor.py +0 -0
  746. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/runner.py +0 -0
  747. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/lstm/visualizer.py +0 -0
  748. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/__init__.py +0 -0
  749. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/build_instructions.py +0 -0
  750. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/calibration/__init__.py +0 -0
  751. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/calibration/optimizer.py +0 -0
  752. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/calibration/parameter_manager.py +0 -0
  753. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/calibration/worker.py +0 -0
  754. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/config.py +0 -0
  755. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/extractor.py +0 -0
  756. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/forcing_adapter.py +0 -0
  757. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/postprocessor.py +0 -0
  758. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/__init__.py +0 -0
  759. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/class_file_manager.py +0 -0
  760. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/config_defaults.py +0 -0
  761. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/config_generator.py +0 -0
  762. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/data_preprocessor.py +0 -0
  763. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/ddb_file_manager.py +0 -0
  764. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/drainage_database.py +0 -0
  765. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/forcing_processor.py +0 -0
  766. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/gru_count_manager.py +0 -0
  767. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/meshflow_manager.py +0 -0
  768. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/parameter_fixer.py +0 -0
  769. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessing/run_options_builder.py +0 -0
  770. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/preprocessor.py +0 -0
  771. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/runner.py +0 -0
  772. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mesh/visualizer.py +0 -0
  773. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/__init__.py +0 -0
  774. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/build_instructions.py +0 -0
  775. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/calibration/__init__.py +0 -0
  776. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/calibration/optimizer.py +0 -0
  777. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/calibration/parameter_manager.py +0 -0
  778. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/calibration/worker.py +0 -0
  779. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/config.py +0 -0
  780. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/extractor.py +0 -0
  781. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/parameters.py +0 -0
  782. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/postprocessor.py +0 -0
  783. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/preprocessor.py +0 -0
  784. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mhm/runner.py +0 -0
  785. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/__init__.py +0 -0
  786. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/dataset_builder.py +0 -0
  787. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/model_component.py +0 -0
  788. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/observation_loader.py +0 -0
  789. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/output_converter.py +0 -0
  790. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/pet_calculator.py +0 -0
  791. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/slurm_execution.py +0 -0
  792. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/spatial_mode_mixin.py +0 -0
  793. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mixins/subprocess_execution.py +0 -0
  794. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/__init__.py +0 -0
  795. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/build_instructions.py +0 -0
  796. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/calibration/__init__.py +0 -0
  797. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/calibration/optimizer.py +0 -0
  798. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/config.py +0 -0
  799. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/control_writer.py +0 -0
  800. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/extractor.py +0 -0
  801. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/mixins.py +0 -0
  802. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/preprocessor.py +0 -0
  803. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/remap_generator.py +0 -0
  804. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/runner.py +0 -0
  805. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/mizuroute/topology_generator.py +0 -0
  806. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/model_manager.py +0 -0
  807. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/__init__.py +0 -0
  808. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/build_instructions.py +0 -0
  809. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/calibration/__init__.py +0 -0
  810. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/calibration/optimizer.py +0 -0
  811. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/calibration/parameter_manager.py +0 -0
  812. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/calibration/targets.py +0 -0
  813. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/calibration/worker.py +0 -0
  814. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/config.py +0 -0
  815. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/coupling.py +0 -0
  816. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/extractor.py +0 -0
  817. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/plotter.py +0 -0
  818. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/postprocessor.py +0 -0
  819. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/preprocessor.py +0 -0
  820. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/modflow/runner.py +0 -0
  821. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/__init__.py +0 -0
  822. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/calibration/__init__.py +0 -0
  823. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/calibration/optimizer.py +0 -0
  824. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/calibration/targets.py +0 -0
  825. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/calibration/worker.py +0 -0
  826. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/config_generator.py +0 -0
  827. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/extractor.py +0 -0
  828. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/forcing_adapter.py +0 -0
  829. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/plotter.py +0 -0
  830. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/postprocessor.py +0 -0
  831. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/runner.py +0 -0
  832. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/ngen/visualizer.py +0 -0
  833. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/__init__.py +0 -0
  834. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/build_instructions.py +0 -0
  835. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/calibration/__init__.py +0 -0
  836. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/calibration/optimizer.py +0 -0
  837. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/calibration/parameter_manager.py +0 -0
  838. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/calibration/targets.py +0 -0
  839. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/calibration/worker.py +0 -0
  840. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/config.py +0 -0
  841. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/coupling.py +0 -0
  842. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/extractor.py +0 -0
  843. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/plotter.py +0 -0
  844. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/postprocessor.py +0 -0
  845. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/parflow/preprocessor.py +0 -0
  846. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/__init__.py +0 -0
  847. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/build_instructions.py +0 -0
  848. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/calibration/__init__.py +0 -0
  849. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/calibration/optimizer.py +0 -0
  850. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/calibration/parameter_manager.py +0 -0
  851. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/calibration/targets.py +0 -0
  852. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/calibration/worker.py +0 -0
  853. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/config.py +0 -0
  854. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/coupling.py +0 -0
  855. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/extractor.py +0 -0
  856. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/plotter.py +0 -0
  857. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/postprocessor.py +0 -0
  858. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/preprocessor.py +0 -0
  859. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/pihm/runner.py +0 -0
  860. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/__init__.py +0 -0
  861. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/build_instructions.py +0 -0
  862. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/calibration/__init__.py +0 -0
  863. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/calibration/optimizer.py +0 -0
  864. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/calibration/parameter_manager.py +0 -0
  865. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/calibration/worker.py +0 -0
  866. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/config.py +0 -0
  867. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/extractor.py +0 -0
  868. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/parameters.py +0 -0
  869. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/postprocessor.py +0 -0
  870. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/preprocessor.py +0 -0
  871. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/prms/runner.py +0 -0
  872. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/registries/__init__.py +0 -0
  873. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/registries/component_registry.py +0 -0
  874. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/registries/config_registry.py +0 -0
  875. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/registries/result_registry.py +0 -0
  876. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/registry.py +0 -0
  877. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/__init__.py +0 -0
  878. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/build_instructions.py +0 -0
  879. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/build_script.py +0 -0
  880. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/calibration/__init__.py +0 -0
  881. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/calibration/optimizer.py +0 -0
  882. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/calibration/parameter_manager.py +0 -0
  883. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/calibration/targets.py +0 -0
  884. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/calibration/worker.py +0 -0
  885. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/climate_generator.py +0 -0
  886. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/config.py +0 -0
  887. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/definitions_generator.py +0 -0
  888. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/extractor.py +0 -0
  889. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/fire_generator.py +0 -0
  890. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/flow_table_generator.py +0 -0
  891. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/forcing_adapter.py +0 -0
  892. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/postprocessor.py +0 -0
  893. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/preprocessor.py +0 -0
  894. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/runner.py +0 -0
  895. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/rhessys/worldfile_generator.py +0 -0
  896. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/__init__.py +0 -0
  897. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/calibration/__init__.py +0 -0
  898. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/calibration/optimizer.py +0 -0
  899. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/calibration/parameter_manager.py +0 -0
  900. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/calibration/worker.py +0 -0
  901. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/config.py +0 -0
  902. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/extractor.py +0 -0
  903. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/forcing_adapter.py +0 -0
  904. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/losses.py +0 -0
  905. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/model.py +0 -0
  906. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/parameters.py +0 -0
  907. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/postprocessor.py +0 -0
  908. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/preprocessor.py +0 -0
  909. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/runner.py +0 -0
  910. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/sacsma/sacsma.py +0 -0
  911. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/snow17/__init__.py +0 -0
  912. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/snow17/bmi.py +0 -0
  913. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/snow17/config.py +0 -0
  914. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/snow17/model.py +0 -0
  915. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/snow17/parameters.py +0 -0
  916. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/spatial_modes.py +0 -0
  917. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/state/__init__.py +0 -0
  918. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/state/exceptions.py +0 -0
  919. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/state/manager.py +0 -0
  920. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/state/mixin.py +0 -0
  921. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/state/types.py +0 -0
  922. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/__init__.py +0 -0
  923. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/attributes_manager.py +0 -0
  924. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/build_instructions.py +0 -0
  925. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/calibration/__init__.py +0 -0
  926. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/calibration/optimizer.py +0 -0
  927. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/calibration/optimizer_mixin.py +0 -0
  928. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/calibration/parameter_manager.py +0 -0
  929. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/calibration/targets.py +0 -0
  930. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/calibration/worker.py +0 -0
  931. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/config.py +0 -0
  932. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/config_manager.py +0 -0
  933. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/extractor.py +0 -0
  934. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/forcing_adapter.py +0 -0
  935. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/forcing_processor.py +0 -0
  936. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/glacier_manager.py +0 -0
  937. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/init_preset.py +0 -0
  938. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/plotter.py +0 -0
  939. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/postprocessor.py +0 -0
  940. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/preprocessor.py +0 -0
  941. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/runner.py +0 -0
  942. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/structure_analyzer.py +0 -0
  943. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/summa/visualizer.py +0 -0
  944. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/__init__.py +0 -0
  945. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/basin_generator.py +0 -0
  946. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/build_instructions.py +0 -0
  947. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/calibration/__init__.py +0 -0
  948. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/calibration/optimizer.py +0 -0
  949. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/calibration/parameter_manager.py +0 -0
  950. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/calibration/worker.py +0 -0
  951. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/config.py +0 -0
  952. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/extractor.py +0 -0
  953. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/forcing_generator.py +0 -0
  954. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/parameters.py +0 -0
  955. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/postprocessor.py +0 -0
  956. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/preprocessor.py +0 -0
  957. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/routing_generator.py +0 -0
  958. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/runner.py +0 -0
  959. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/swat/subbasin_generator.py +0 -0
  960. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/templates/__init__.py +0 -0
  961. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/templates/model_template.py +0 -0
  962. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/__init__.py +0 -0
  963. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/calibration/__init__.py +0 -0
  964. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/calibration/optimizer.py +0 -0
  965. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/calibration/parameter_manager.py +0 -0
  966. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/calibration/worker.py +0 -0
  967. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/config.py +0 -0
  968. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/extractor.py +0 -0
  969. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/losses.py +0 -0
  970. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/model.py +0 -0
  971. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/parameters.py +0 -0
  972. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/postprocessor.py +0 -0
  973. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/preprocessor.py +0 -0
  974. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/topmodel/runner.py +0 -0
  975. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/__init__.py +0 -0
  976. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/build_instructions.py +0 -0
  977. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/calibration/__init__.py +0 -0
  978. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/calibration/optimizer.py +0 -0
  979. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/config.py +0 -0
  980. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/extractor.py +0 -0
  981. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/plotter.py +0 -0
  982. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/postprocessor.py +0 -0
  983. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/preprocessor.py +0 -0
  984. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/troute/runner.py +0 -0
  985. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/utilities/__init__.py +0 -0
  986. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/utilities/base_forcing_processor.py +0 -0
  987. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/utilities/data_quality_handler.py +0 -0
  988. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/utilities/forcing_data_processor.py +0 -0
  989. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/utilities/routing_decider.py +0 -0
  990. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/__init__.py +0 -0
  991. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/calibration/__init__.py +0 -0
  992. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/calibration/optimizer.py +0 -0
  993. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/calibration/parameter_manager.py +0 -0
  994. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/calibration/worker.py +0 -0
  995. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/config.py +0 -0
  996. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/extractor.py +0 -0
  997. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/postprocessor.py +0 -0
  998. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/preprocessor.py +0 -0
  999. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/vic/runner.py +0 -0
  1000. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/__init__.py +0 -0
  1001. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/calibration/__init__.py +0 -0
  1002. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/calibration/optimizer.py +0 -0
  1003. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/calibration/parameter_manager.py +0 -0
  1004. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/calibration/worker.py +0 -0
  1005. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/config.py +0 -0
  1006. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/extractor.py +0 -0
  1007. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/forcing_adapter.py +0 -0
  1008. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/parameters.py +0 -0
  1009. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/postprocessor.py +0 -0
  1010. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/preprocessor.py +0 -0
  1011. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/watflood/runner.py +0 -0
  1012. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/__init__.py +0 -0
  1013. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/build_instructions.py +0 -0
  1014. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/calibration/__init__.py +0 -0
  1015. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/calibration/optimizer.py +0 -0
  1016. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/calibration/parameter_manager.py +0 -0
  1017. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/calibration/worker.py +0 -0
  1018. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/config.py +0 -0
  1019. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/extractor.py +0 -0
  1020. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/postprocessor.py +0 -0
  1021. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/preprocessor.py +0 -0
  1022. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wflow/runner.py +0 -0
  1023. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/__init__.py +0 -0
  1024. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/build_instructions.py +0 -0
  1025. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/fire_def_generator.py +0 -0
  1026. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/fire_grid.py +0 -0
  1027. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/fuel_calculator.py +0 -0
  1028. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/ignition.py +0 -0
  1029. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wmfire/postprocessor.py +0 -0
  1030. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/__init__.py +0 -0
  1031. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/build_instructions.py +0 -0
  1032. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/calibration/__init__.py +0 -0
  1033. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/calibration/optimizer.py +0 -0
  1034. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/calibration/parameter_manager.py +0 -0
  1035. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/config.py +0 -0
  1036. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/extractor.py +0 -0
  1037. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/parameters.py +0 -0
  1038. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/postprocessor.py +0 -0
  1039. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/wrfhydro/preprocessor.py +0 -0
  1040. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/__init__.py +0 -0
  1041. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/calibration/__init__.py +0 -0
  1042. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/calibration/optimizer.py +0 -0
  1043. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/calibration/parameter_manager.py +0 -0
  1044. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/calibration/worker.py +0 -0
  1045. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/config.py +0 -0
  1046. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/extractor.py +0 -0
  1047. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/forcing_adapter.py +0 -0
  1048. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/losses.py +0 -0
  1049. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/model.py +0 -0
  1050. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/parameters.py +0 -0
  1051. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/postprocessor.py +0 -0
  1052. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/preprocessor.py +0 -0
  1053. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/models/xinanjiang/runner.py +0 -0
  1054. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/__init__.py +0 -0
  1055. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/__init__.py +0 -0
  1056. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/base.py +0 -0
  1057. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/fuse_calibration_targets.py +0 -0
  1058. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/gr_calibration_targets.py +0 -0
  1059. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/hype_calibration_targets.py +0 -0
  1060. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/ngen_calibration_targets.py +0 -0
  1061. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/rhessys_calibration_targets.py +0 -0
  1062. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/calibration_targets/summa_calibration_targets.py +0 -0
  1063. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/__init__.py +0 -0
  1064. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/base_parameter_manager.py +0 -0
  1065. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/directory_conventions.py +0 -0
  1066. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/model_executor.py +0 -0
  1067. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/parameter_bounds_registry.py +0 -0
  1068. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/parameter_manager.py +0 -0
  1069. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/results_manager.py +0 -0
  1070. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/core/transformers.py +0 -0
  1071. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/gradient/__init__.py +0 -0
  1072. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/gradient/optimizers.py +0 -0
  1073. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/gradient/schedulers.py +0 -0
  1074. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/gradient/utils.py +0 -0
  1075. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/__init__.py +0 -0
  1076. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/gradient_optimization.py +0 -0
  1077. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/__init__.py +0 -0
  1078. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/config_updater.py +0 -0
  1079. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/directory_manager.py +0 -0
  1080. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/execution_strategies/__init__.py +0 -0
  1081. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/execution_strategies/base.py +0 -0
  1082. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/execution_strategies/mpi.py +0 -0
  1083. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/execution_strategies/process_pool.py +0 -0
  1084. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/execution_strategies/sequential.py +0 -0
  1085. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/local_scratch_manager.py +0 -0
  1086. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/task_distributor.py +0 -0
  1087. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel/worker_environment.py +0 -0
  1088. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/parallel_execution.py +0 -0
  1089. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/results_tracking.py +0 -0
  1090. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/retry_execution.py +0 -0
  1091. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/mixins/summa_optimizer_mixin.py +0 -0
  1092. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/model_optimizers/__init__.py +0 -0
  1093. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/objectives/__init__.py +0 -0
  1094. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/objectives/base.py +0 -0
  1095. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/objectives/multivariate.py +0 -0
  1096. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/objectives/registry.py +0 -0
  1097. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimization_manager.py +0 -0
  1098. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimization_results_manager.py +0 -0
  1099. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/__init__.py +0 -0
  1100. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/__init__.py +0 -0
  1101. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/abc.py +0 -0
  1102. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/adam.py +0 -0
  1103. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/async_dds.py +0 -0
  1104. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/base_algorithm.py +0 -0
  1105. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/basin_hopping.py +0 -0
  1106. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/bayesian_optimization.py +0 -0
  1107. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/cmaes.py +0 -0
  1108. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/config_schema.py +0 -0
  1109. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/dds.py +0 -0
  1110. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/de.py +0 -0
  1111. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/dream.py +0 -0
  1112. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/ga.py +0 -0
  1113. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/glue.py +0 -0
  1114. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/lbfgs.py +0 -0
  1115. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/moead.py +0 -0
  1116. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/nelder_mead.py +0 -0
  1117. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/nsga2.py +0 -0
  1118. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/pso.py +0 -0
  1119. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/sce_ua.py +0 -0
  1120. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/algorithms/simulated_annealing.py +0 -0
  1121. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/base_model_optimizer.py +0 -0
  1122. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/component_factory.py +0 -0
  1123. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/evaluators/__init__.py +0 -0
  1124. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/evaluators/population_evaluator.py +0 -0
  1125. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/evaluators/task_builder.py +0 -0
  1126. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/final_evaluation/__init__.py +0 -0
  1127. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/final_evaluation/file_manager_updater.py +0 -0
  1128. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/final_evaluation/model_decisions_updater.py +0 -0
  1129. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/final_evaluation/orchestrator.py +0 -0
  1130. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/final_evaluation/results_saver.py +0 -0
  1131. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/final_evaluation/runner.py +0 -0
  1132. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/metrics_tracker.py +0 -0
  1133. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/multiobjective/__init__.py +0 -0
  1134. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/optimizers/multiobjective/nsga2_operators.py +0 -0
  1135. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/parameter_managers/__init__.py +0 -0
  1136. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/registry.py +0 -0
  1137. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/__init__.py +0 -0
  1138. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/base_worker.py +0 -0
  1139. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/inmemory_worker.py +0 -0
  1140. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/__init__.py +0 -0
  1141. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/dds_optimization.py +0 -0
  1142. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/error_logging.py +0 -0
  1143. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/metrics_calculation.py +0 -0
  1144. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/model_execution.py +0 -0
  1145. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/netcdf_utilities.py +0 -0
  1146. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/parameter_application.py +0 -0
  1147. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/worker_orchestration.py +0 -0
  1148. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/summa/worker_safety.py +0 -0
  1149. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/utilities/__init__.py +0 -0
  1150. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/optimization/workers/utilities/streamflow_metrics.py +0 -0
  1151. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/project/__init__.py +0 -0
  1152. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/project/logging_manager.py +0 -0
  1153. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/project/manager_factory.py +0 -0
  1154. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/project/pour_point_workflow.py +0 -0
  1155. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/project/project_manager.py +0 -0
  1156. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/project/workflow_orchestrator.py +0 -0
  1157. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/__init__.py +0 -0
  1158. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/config/__init__.py +0 -0
  1159. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/config/plot_config.py +0 -0
  1160. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/core/__init__.py +0 -0
  1161. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/core/dataframe_utils.py +0 -0
  1162. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/core/decorators.py +0 -0
  1163. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/core/plot_utils.py +0 -0
  1164. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/core/shapefile_helper.py +0 -0
  1165. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/orchestrators/__init__.py +0 -0
  1166. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/orchestrators/calibration_orchestrator.py +0 -0
  1167. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/orchestrators/diagnostics_orchestrator.py +0 -0
  1168. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/orchestrators/model_output_orchestrator.py +0 -0
  1169. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/__init__.py +0 -0
  1170. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/base_panel.py +0 -0
  1171. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/fdc_panel.py +0 -0
  1172. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/metrics_table_panel.py +0 -0
  1173. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/monthly_boxplot_panel.py +0 -0
  1174. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/residual_analysis_panel.py +0 -0
  1175. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/scatter_panel.py +0 -0
  1176. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/panels/timeseries_panel.py +0 -0
  1177. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotter_registry.py +0 -0
  1178. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/__init__.py +0 -0
  1179. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/analysis_plotter.py +0 -0
  1180. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/benchmark_plotter.py +0 -0
  1181. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/diagnostic_plotter.py +0 -0
  1182. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/domain_plotter.py +0 -0
  1183. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/forcing_comparison_plotter.py +0 -0
  1184. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/hydrograph_plotter.py +0 -0
  1185. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison/__init__.py +0 -0
  1186. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison/_comparison.py +0 -0
  1187. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison/_core.py +0 -0
  1188. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison/_data_loading.py +0 -0
  1189. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison/_overview.py +0 -0
  1190. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison/plotter.py +0 -0
  1191. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_comparison_plotter.py +0 -0
  1192. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/model_results_plotter.py +0 -0
  1193. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/optimization_plotter.py +0 -0
  1194. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/snow_plotter.py +0 -0
  1195. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/plotters/workflow_diagnostic_plotter.py +0 -0
  1196. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/processors/__init__.py +0 -0
  1197. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/processors/data_processor.py +0 -0
  1198. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/processors/metrics_processor.py +0 -0
  1199. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/processors/spatial_processor.py +0 -0
  1200. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/reporting/reporting_manager.py +0 -0
  1201. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/__init__.py +0 -0
  1202. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/CLM/clm5_params.nc +0 -0
  1203. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/FUSE/fm_catch.txt +0 -0
  1204. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/FUSE/fuse_zConstraints_snow.txt +0 -0
  1205. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/FUSE/fuse_zDecisions_902.txt +0 -0
  1206. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/FUSE/fuse_zNumerix.txt +0 -0
  1207. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/FUSE/input_info.txt +0 -0
  1208. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/MESH/MESH_input_reservoir.txt +0 -0
  1209. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/MESH/MESH_input_soil_levels.txt +0 -0
  1210. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/MESH/MESH_input_streamflow.txt +0 -0
  1211. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/MESH/MESH_parameters.txt +0 -0
  1212. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/NOAH/parameters/GENPARM.TBL +0 -0
  1213. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/NOAH/parameters/MPTABLE.TBL +0 -0
  1214. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/NOAH/parameters/SOILPARM.TBL +0 -0
  1215. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/TBL_GENPARM.TBL +0 -0
  1216. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/TBL_MPTABLE.TBL +0 -0
  1217. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/TBL_SOILPARM.TBL +0 -0
  1218. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/TBL_VEGPARM.TBL +0 -0
  1219. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/basinParamInfo.txt +0 -0
  1220. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/localParamInfo.txt +0 -0
  1221. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/modelDecisions.txt +0 -0
  1222. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/SUMMA/outputControl.txt +0 -0
  1223. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/TEST/README.md +0 -0
  1224. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/__init__.py +0 -0
  1225. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/mizuRoute/param.nml.default +0 -0
  1226. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/troute/sample_config_MCOnly.yaml +0 -0
  1227. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/base_settings/troute/sample_config_MC_with_waterbodies.yaml +0 -0
  1228. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/README.md +0 -0
  1229. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/__init__.py +0 -0
  1230. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/camelsspat_template.yaml +0 -0
  1231. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/config_quickstart_minimal.yaml +0 -0
  1232. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/config_quickstart_minimal_nested.yaml +0 -0
  1233. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/examples/README.md +0 -0
  1234. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/examples/config_basin_notebook.yaml +0 -0
  1235. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/examples/config_continental_tutorial.yaml +0 -0
  1236. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/examples/config_fluxnet_notebook.yaml +0 -0
  1237. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/examples/config_iceland_tutorial.yaml +0 -0
  1238. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/fluxnet_template.yaml +0 -0
  1239. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/config_templates/norswe_template.yaml +0 -0
  1240. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/manager.py +0 -0
  1241. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/resources/system_deps.yml +0 -0
  1242. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/__init__.py +0 -0
  1243. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/app.py +0 -0
  1244. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/constants.py +0 -0
  1245. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/__init__.py +0 -0
  1246. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/calibration.py +0 -0
  1247. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/command_palette.py +0 -0
  1248. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/dashboard.py +0 -0
  1249. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/help.py +0 -0
  1250. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/path_prompt.py +0 -0
  1251. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/results_compare.py +0 -0
  1252. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/run_browser.py +0 -0
  1253. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/run_detail.py +0 -0
  1254. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/slurm_monitor.py +0 -0
  1255. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/screens/workflow_launcher.py +0 -0
  1256. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/services/__init__.py +0 -0
  1257. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/services/calibration_data.py +0 -0
  1258. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/services/data_dir.py +0 -0
  1259. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/services/run_history.py +0 -0
  1260. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/services/slurm_service.py +0 -0
  1261. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/services/workflow_service.py +0 -0
  1262. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/theme.tcss +0 -0
  1263. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/__init__.py +0 -0
  1264. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/config_tree.py +0 -0
  1265. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/domain_list.py +0 -0
  1266. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/log_panel.py +0 -0
  1267. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/metrics_table.py +0 -0
  1268. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/run_summary_table.py +0 -0
  1269. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/slurm_table.py +0 -0
  1270. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/sparkline.py +0 -0
  1271. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/tui/widgets/step_progress.py +0 -0
  1272. {symfluence-0.7.7 → symfluence-0.7.9}/symfluence/workflow_steps.py +0 -0
  1273. {symfluence-0.7.7 → symfluence-0.7.9}/tests/unit/cli/README.md +0 -0
  1274. {symfluence-0.7.7 → symfluence-0.7.9}/tools/README.md +0 -0
  1275. {symfluence-0.7.7 → symfluence-0.7.9}/tools/npm/README.md +0 -0
@@ -28,6 +28,9 @@ examples/*/data/
28
28
  mpi_*
29
29
 
30
30
 
31
+ # Pixi
32
+ .pixi/
33
+
31
34
  # Virtual Environment
32
35
  venv/
33
36
  ENV/
@@ -44,6 +47,9 @@ env/
44
47
  !0_config_files/README.md
45
48
 
46
49
 
50
+ # Claude Code
51
+ CLAUDE.md
52
+
47
53
  # IDE
48
54
  .idea/
49
55
  .vscode/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: symfluence
3
- Version: 0.7.7
3
+ Version: 0.7.9
4
4
  Summary: SYnergistic Modelling Framework for Linking and Unifying Earth-system Nexii for Computational Exploration
5
5
  Project-URL: Homepage, https://symfluence.org
6
6
  Project-URL: Source, https://github.com/DarriEy/SYMFLUENCE
@@ -386,13 +386,96 @@ class BinaryCommands(BaseCommand):
386
386
  """
387
387
  cmd = [str(binary_path)] + args
388
388
  try:
389
- result = subprocess.run(
389
+ # Use a pseudo-tty for stdout so C/C++ child processes use
390
+ # line-buffered output. Without this, completion messages
391
+ # (e.g. ngen's "Finished N timesteps") are lost when the
392
+ # process segfaults during cleanup before flushing its buffer.
393
+ # stderr is piped separately so we can filter noisy WARN lines.
394
+ pty_master_fd = None
395
+ stdout_target = sys.stdout
396
+
397
+ if sys.platform != "win32":
398
+ try:
399
+ import os as _os
400
+ import pty as _pty
401
+ pty_master_fd, pty_slave_fd = _pty.openpty()
402
+ stdout_target = pty_slave_fd
403
+ except (OSError, ImportError):
404
+ pass
405
+
406
+ proc = subprocess.Popen(
390
407
  cmd,
391
408
  stdin=sys.stdin,
392
- stdout=sys.stdout,
393
- stderr=sys.stderr,
409
+ stdout=stdout_target,
410
+ stderr=subprocess.PIPE,
394
411
  )
395
- return result.returncode
412
+
413
+ # Close the slave end in the parent — only the child writes to it
414
+ if pty_master_fd is not None:
415
+ import os as _os
416
+ _os.close(pty_slave_fd)
417
+
418
+ # Read from pty master and forward to real stdout
419
+ import threading
420
+
421
+ def _forward_pty():
422
+ try:
423
+ while True:
424
+ data = _os.read(pty_master_fd, 8192)
425
+ if not data:
426
+ break
427
+ sys.stdout.buffer.write(data)
428
+ sys.stdout.buffer.flush()
429
+ except OSError:
430
+ pass # pty closed when child exits
431
+ finally:
432
+ _os.close(pty_master_fd)
433
+
434
+ pty_thread = threading.Thread(target=_forward_pty, daemon=True)
435
+ pty_thread.start()
436
+
437
+ # Stream stderr but filter out repetitive WARN lines
438
+ # (e.g. ngen emits thousands of unit-conversion warnings per timestep)
439
+ warn_count = 0
440
+ for raw_line in proc.stderr:
441
+ line = raw_line.decode("utf-8", errors="replace")
442
+ if line.startswith("WARN:"):
443
+ warn_count += 1
444
+ continue
445
+ sys.stderr.write(line)
446
+ sys.stderr.flush()
447
+
448
+ proc.wait()
449
+
450
+ if pty_master_fd is not None:
451
+ pty_thread.join(timeout=2)
452
+
453
+ if warn_count > 0:
454
+ sys.stderr.write(f"[suppressed {warn_count:,} repetitive warnings]\n")
455
+ sys.stderr.flush()
456
+
457
+ # Ensure terminal gets a clean newline after binary output
458
+ try:
459
+ sys.stdout.write("\n")
460
+ sys.stdout.flush()
461
+ except (OSError, ValueError):
462
+ pass
463
+
464
+ rc = proc.returncode
465
+ # Treat SIGSEGV during cleanup as success if the binary name
466
+ # is known to crash on teardown (e.g. ngen with Fortran BMI modules).
467
+ # Signal 11 (SIGSEGV) maps to exit code -11 or 128+11=139 or 256-11=245.
468
+ if rc in (-11, 139, 245):
469
+ tool_name = binary_path.name
470
+ print(
471
+ f"Note: {tool_name} exited with signal 11 (SIGSEGV) during cleanup. "
472
+ f"This is a known issue with Fortran BMI module teardown and does not "
473
+ f"affect simulation results.",
474
+ file=sys.stderr,
475
+ )
476
+ rc = 0
477
+
478
+ return rc
396
479
  except FileNotFoundError:
397
480
  print(f"Binary not found: {binary_path}", file=sys.stderr)
398
481
  return ExitCode.BINARY_ERROR
@@ -1068,6 +1068,25 @@ detect_or_build_flex() {
1068
1068
  return 0
1069
1069
  fi
1070
1070
 
1071
+ # Prefer Homebrew flex on macOS — Apple's /usr/bin/flex calls /usr/bin/gm4
1072
+ # which was removed in macOS Sequoia (15.x)
1073
+ if [ -x /opt/homebrew/opt/flex/bin/flex ]; then
1074
+ echo "Found Homebrew flex: /opt/homebrew/opt/flex/bin/flex"
1075
+ export PATH="/opt/homebrew/opt/flex/bin:$PATH"
1076
+ flex --version | head -1
1077
+ FLEX_FOUND=true
1078
+ # Homebrew flex includes libfl
1079
+ local brew_flex_lib="/opt/homebrew/opt/flex/lib"
1080
+ if [ -f "$brew_flex_lib/libfl.a" ] || [ -f "$brew_flex_lib/libfl.dylib" ]; then
1081
+ echo "Found Homebrew libfl"
1082
+ LIBFL_FOUND=true
1083
+ export FLEX_LIB_DIR="$brew_flex_lib"
1084
+ export LDFLAGS="${LDFLAGS:-} -L${FLEX_LIB_DIR}"
1085
+ export LIBRARY_PATH="${FLEX_LIB_DIR}:${LIBRARY_PATH:-}"
1086
+ fi
1087
+ return 0
1088
+ fi
1089
+
1071
1090
  # Check if flex binary is available in PATH
1072
1091
  if command -v flex >/dev/null 2>&1; then
1073
1092
  echo "Found flex: $(command -v flex)"
@@ -572,6 +572,7 @@ class ToolInstaller(BaseService):
572
572
  # Check required tools
573
573
  if tool_info.get("requires"):
574
574
  required_tools = tool_info.get("requires", [])
575
+ missing_required_tool = False
575
576
  for req_tool in required_tools:
576
577
  req_tool_info = self.external_tools.get(req_tool, {})
577
578
  req_tool_dir = install_base_dir / req_tool_info.get(
@@ -584,7 +585,10 @@ class ToolInstaller(BaseService):
584
585
  self._console.error(error_msg)
585
586
  installation_results["errors"].append(error_msg)
586
587
  installation_results["failed"].append(tool_name)
587
- continue
588
+ missing_required_tool = True
589
+ break
590
+ if missing_required_tool:
591
+ continue
588
592
 
589
593
  # Run build commands
590
594
  if tool_info.get("build_commands"):
@@ -601,7 +605,17 @@ class ToolInstaller(BaseService):
601
605
  installation_results["successful"].append(tool_name)
602
606
 
603
607
  # Verify installation
604
- self._verify_installation(tool_name, tool_info, tool_install_dir)
608
+ verified = self._verify_installation(tool_name, tool_info, tool_install_dir)
609
+ if not verified:
610
+ installation_results["errors"].append(
611
+ f"{tool_name}: installation verification failed"
612
+ )
613
+ if tool_name in installation_results["successful"]:
614
+ installation_results["successful"] = [
615
+ t for t in installation_results["successful"] if t != tool_name
616
+ ]
617
+ if tool_name not in installation_results["failed"]:
618
+ installation_results["failed"].append(tool_name)
605
619
 
606
620
  except subprocess.CalledProcessError as e:
607
621
  if repository_url:
@@ -205,6 +205,23 @@ class ModelConfig(BaseModel):
205
205
  if values.get(field_name) is None:
206
206
  values[field_name] = config_cls()
207
207
 
208
+ # Forward deprecated ENABLE_* keys into the ngen sub-dict so
209
+ # NGENConfig._migrate_enable_flags can pick them up (handles flat
210
+ # configs where these land at the ModelConfig level).
211
+ _enable_keys = ('ENABLE_SLOTH', 'ENABLE_PET', 'ENABLE_NOAH', 'ENABLE_CFE')
212
+ found = {k: values[k] for k in _enable_keys if k in values}
213
+ if found:
214
+ ngen_dict = values.get('ngen')
215
+ if ngen_dict is None:
216
+ ngen_dict = {}
217
+ values['ngen'] = ngen_dict
218
+ if isinstance(ngen_dict, dict):
219
+ for k, v in found.items():
220
+ ngen_dict.setdefault(k, v)
221
+ # Remove from top level so Pydantic doesn't reject them
222
+ for k in found:
223
+ values.pop(k, None)
224
+
208
225
  return values
209
226
 
210
227
  __all__ = [
@@ -3,9 +3,10 @@
3
3
 
4
4
  """Hydrological model configuration classes."""
5
5
 
6
+ import warnings
6
7
  from typing import Any, Dict, List, Literal, Optional, Union
7
8
 
8
- from pydantic import BaseModel, Field
9
+ from pydantic import BaseModel, Field, model_validator
9
10
 
10
11
  from .base import FROZEN_CONFIG
11
12
  from .model_config_types import SpatialModeType
@@ -283,12 +284,79 @@ class NGENConfig(BaseModel):
283
284
  alias='NGEN_PET_PARAMS_TO_CALIBRATE'
284
285
  )
285
286
  active_catchment_id: Optional[str] = Field(default=None, alias='NGEN_ACTIVE_CATCHMENT_ID')
286
- # Module enable flags
287
- enable_sloth: bool = Field(default=True, alias='ENABLE_SLOTH')
288
- enable_pet: bool = Field(default=True, alias='ENABLE_PET')
289
- enable_noah: bool = Field(default=False, alias='ENABLE_NOAH')
290
- enable_cfe: bool = Field(default=True, alias='ENABLE_CFE')
287
+ # Parameter bounds overrides (per-module)
288
+ cfe_param_bounds: Optional[Dict[str, Any]] = Field(default=None, alias='NGEN_CFE_PARAM_BOUNDS')
289
+ noah_param_bounds: Optional[Dict[str, Any]] = Field(default=None, alias='NGEN_NOAH_PARAM_BOUNDS')
290
+ pet_param_bounds: Optional[Dict[str, Any]] = Field(default=None, alias='NGEN_PET_PARAM_BOUNDS')
291
+ # Module selection (replaces individual ENABLE_* flags)
292
+ modules_selected: str = Field(default='SLOTH,PET,CFE', alias='NGEN_MODULES_SELECTED')
291
293
  noah_et_fallback: str = Field(default='ETRAN', alias='NGEN_NOAH_ET_FALLBACK')
294
+
295
+ @model_validator(mode='before')
296
+ @classmethod
297
+ def _migrate_enable_flags(cls, values: Any) -> Any:
298
+ """Auto-migrate deprecated ENABLE_* flags to NGEN_MODULES_SELECTED."""
299
+ if not isinstance(values, dict):
300
+ return values
301
+
302
+ # Check for any legacy ENABLE_* keys
303
+ enable_keys = {
304
+ 'ENABLE_SLOTH': ('SLOTH', True),
305
+ 'ENABLE_PET': ('PET', True),
306
+ 'ENABLE_NOAH': ('NOAH', False),
307
+ 'ENABLE_CFE': ('CFE', True),
308
+ }
309
+ found_legacy = {k: v for k, v in enable_keys.items() if k in values}
310
+
311
+ if not found_legacy:
312
+ return values
313
+
314
+ # Only migrate if NGEN_MODULES_SELECTED is not already explicitly set
315
+ if 'NGEN_MODULES_SELECTED' in values or 'modules_selected' in values:
316
+ # Remove stale legacy keys so they don't cause Pydantic errors
317
+ for k in found_legacy:
318
+ values.pop(k, None)
319
+ return values
320
+
321
+ # Build modules list from legacy flags
322
+ modules = []
323
+ for key, (mod_name, default_on) in enable_keys.items():
324
+ raw = values.get(key, default_on)
325
+ # Handle string booleans from YAML
326
+ if isinstance(raw, str):
327
+ enabled = raw.lower() in ('true', '1', 'yes')
328
+ else:
329
+ enabled = bool(raw)
330
+ if enabled:
331
+ modules.append(mod_name)
332
+
333
+ values['NGEN_MODULES_SELECTED'] = ','.join(modules)
334
+
335
+ # Remove legacy keys
336
+ for k in found_legacy:
337
+ values.pop(k, None)
338
+
339
+ warnings.warn(
340
+ "ENABLE_SLOTH/ENABLE_PET/ENABLE_NOAH/ENABLE_CFE are deprecated. "
341
+ f"Use NGEN_MODULES_SELECTED: '{values['NGEN_MODULES_SELECTED']}' instead.",
342
+ DeprecationWarning,
343
+ stacklevel=2,
344
+ )
345
+ return values
346
+
347
+ @model_validator(mode='after')
348
+ def _validate_calibrate_subset(self) -> 'NGENConfig':
349
+ """Ensure modules_to_calibrate is a subset of modules_selected."""
350
+ selected = {m.strip().upper() for m in self.modules_selected.split(',') if m.strip()}
351
+ calibrate = {m.strip().upper() for m in self.modules_to_calibrate.split(',') if m.strip()}
352
+ not_selected = calibrate - selected
353
+ if not_selected:
354
+ raise ValueError(
355
+ f"NGEN_MODULES_TO_CALIBRATE contains modules not in NGEN_MODULES_SELECTED: "
356
+ f"{not_selected}. Either add them to NGEN_MODULES_SELECTED or remove them "
357
+ f"from NGEN_MODULES_TO_CALIBRATE."
358
+ )
359
+ return self
292
360
  run_troute: bool = Field(default=True, alias='NGEN_RUN_TROUTE')
293
361
 
294
362
 
@@ -28,8 +28,12 @@ Usage:
28
28
  """
29
29
 
30
30
  import gc
31
+ import logging
31
32
  import os
32
- from typing import Dict
33
+ from pathlib import Path
34
+ from typing import Dict, Optional
35
+
36
+ logger = logging.getLogger(__name__)
33
37
 
34
38
  # =============================================================================
35
39
  # Environment Variable Constants
@@ -53,6 +57,12 @@ THREAD_ENV_VARS: Dict[str, str] = {
53
57
  }
54
58
  """Environment variables to force single-threaded execution in numerical libraries."""
55
59
 
60
+ # Module-level flag: set to True when h5py and netCDF4 link against different
61
+ # libhdf5 builds. When True, the h5netcdf engine fallback in
62
+ # BaseDatasetHandler.open_dataset() must be skipped because importing h5py
63
+ # would corrupt netcdf4's HDF5 state for the rest of the process.
64
+ hdf5_library_conflict: bool = False
65
+
56
66
 
57
67
  # =============================================================================
58
68
  # Configuration Functions
@@ -84,22 +94,20 @@ def configure_hdf5_safety(disable_tqdm_monitor: bool = True) -> None:
84
94
  else:
85
95
  os.environ.setdefault(key, value)
86
96
 
87
- # Configure xarray to minimize file caching and prefer h5netcdf backend
88
- # h5netcdf is more stable than netCDF4 for concurrent access
97
+ # Configure xarray to minimize file caching
89
98
  try:
90
99
  import xarray as xr
91
100
  xr.set_options(
92
101
  file_cache_maxsize=1, # Minimal file cache
93
102
  )
94
- # Try to set h5netcdf as default backend if available
95
- try:
96
- import h5netcdf # noqa: F401
97
- # h5netcdf is available, will be used when backend='h5netcdf'
98
- except ImportError:
99
- pass # h5netcdf not available, will fall back to netCDF4
100
103
  except (ImportError, AttributeError):
101
104
  pass # xarray not yet imported or doesn't support this option
102
105
 
106
+ # Check for conflicting HDF5 library builds (e.g. pip h5py + pip netCDF4
107
+ # each bundling their own libhdf5). Must run BEFORE any h5py/h5netcdf
108
+ # import to avoid poisoning the process.
109
+ _check_hdf5_library_conflict()
110
+
103
111
  # Disable tqdm monitor thread to prevent segfaults
104
112
  if disable_tqdm_monitor:
105
113
  _disable_tqdm_monitor()
@@ -212,6 +220,94 @@ def clear_xarray_cache() -> None:
212
220
  # Internal Helpers
213
221
  # =============================================================================
214
222
 
223
+ def _find_bundled_libhdf5(pkg_name: str) -> Optional[Path]:
224
+ """Find a bundled libhdf5 shipped inside a pip wheel for *pkg_name*.
225
+
226
+ Pip wheels for h5py and netCDF4 vendor their own private copy of
227
+ libhdf5 into a ``<pkg>.libs/`` (Linux) or ``<pkg>/.dylibs/``
228
+ (macOS) directory next to the package. Conda-installed packages
229
+ instead link against a single shared ``$CONDA_PREFIX/lib/libhdf5``
230
+ and have no bundled copy.
231
+
232
+ Returns the resolved path to the bundled libhdf5, or None if the
233
+ package is not installed or does not bundle its own copy.
234
+ """
235
+ try:
236
+ import importlib.util
237
+ spec = importlib.util.find_spec(pkg_name)
238
+ if spec is None or spec.origin is None:
239
+ return None
240
+ pkg_dir = Path(spec.origin).parent
241
+
242
+ # Linux pip wheels: <site-packages>/<pkg>.libs/libhdf5-*.so*
243
+ # macOS pip wheels: <site-packages>/<pkg>/.dylibs/libhdf5*.dylib
244
+ search_dirs = [
245
+ pkg_dir.parent / f"{pkg_name}.libs", # Linux
246
+ pkg_dir / ".dylibs", # macOS (inside pkg)
247
+ ]
248
+ # netCDF4 pip wheel uses the distribution name "netcdf4" (lowercase)
249
+ if pkg_name == "netCDF4":
250
+ search_dirs.append(pkg_dir.parent / "netcdf4.libs")
251
+
252
+ for d in search_dirs:
253
+ if not d.is_dir():
254
+ continue
255
+ for f in d.iterdir():
256
+ name = f.name.lower()
257
+ if 'libhdf5' in name and 'libhdf5_hl' not in name:
258
+ return f.resolve()
259
+ except Exception: # noqa: BLE001
260
+ pass
261
+ return None
262
+
263
+
264
+ def _check_hdf5_library_conflict() -> None:
265
+ """Detect conflicting libhdf5 builds between h5py and netCDF4.
266
+
267
+ When both packages are pip-installed, each bundles its own private
268
+ copy of ``libhdf5`` (with different build hashes). If h5py is
269
+ imported first, its libhdf5 symbols shadow netCDF4's, corrupting
270
+ HDF5 global state and causing ``NetCDF: HDF error`` on every
271
+ subsequent netcdf4 operation — even reads.
272
+
273
+ This check runs at startup (before any h5py import) by looking for
274
+ bundled libhdf5 files in pip wheel vendor directories — no Python
275
+ HDF5 modules are imported.
276
+
277
+ Sets the module-level ``hdf5_library_conflict`` flag and logs a
278
+ warning with clear fix instructions.
279
+ """
280
+ global hdf5_library_conflict
281
+
282
+ h5py_lib = _find_bundled_libhdf5('h5py')
283
+ nc4_lib = _find_bundled_libhdf5('netCDF4')
284
+
285
+ if h5py_lib is None or nc4_lib is None:
286
+ # At least one package doesn't bundle its own libhdf5 (likely
287
+ # conda-installed or not present at all). No conflict.
288
+ return
289
+
290
+ if h5py_lib == nc4_lib:
291
+ return # Same file — no conflict
292
+
293
+ hdf5_library_conflict = True
294
+ logger.warning(
295
+ "h5py and netCDF4 bundle DIFFERENT libhdf5 builds:\n"
296
+ " h5py → %s\n"
297
+ " netCDF4 → %s\n"
298
+ "Importing h5py will corrupt netcdf4's HDF5 state, causing "
299
+ "'NetCDF: HDF error' on all subsequent operations.\n"
300
+ "Fix: install both from the same package manager:\n"
301
+ " conda: pip uninstall h5py netCDF4 -y && conda install h5py netcdf4\n"
302
+ " pip: pip install --force-reinstall --no-binary h5py --no-binary "
303
+ "netCDF4 h5py netCDF4\n"
304
+ "The h5netcdf engine fallback will be DISABLED for this session to "
305
+ "prevent the conflict from being triggered.",
306
+ h5py_lib,
307
+ nc4_lib,
308
+ )
309
+
310
+
215
311
  def _disable_tqdm_monitor() -> None:
216
312
  """Disable tqdm's background monitor thread."""
217
313
  try:
@@ -97,10 +97,7 @@ class SUMMAProcessComponent(ProcessComponent):
97
97
  return {"runoff": runoff, "soil_drainage": drainage}
98
98
  except Exception as e: # noqa: BLE001 — must-not-raise contract
99
99
  logger.error(f"Failed to read SUMMA outputs: {e}")
100
- return {
101
- "runoff": torch.zeros(1),
102
- "soil_drainage": torch.zeros(1),
103
- }
100
+ raise RuntimeError("Failed to read SUMMA outputs") from e
104
101
 
105
102
 
106
103
  class MizuRouteProcessComponent(ProcessComponent):
@@ -171,7 +168,7 @@ class MizuRouteProcessComponent(ProcessComponent):
171
168
  return {"discharge": discharge}
172
169
  except Exception as e: # noqa: BLE001 — must-not-raise contract
173
170
  logger.error(f"Failed to read mizuRoute outputs: {e}")
174
- return {"discharge": torch.zeros(1)}
171
+ raise RuntimeError("Failed to read mizuRoute outputs") from e
175
172
 
176
173
 
177
174
  class ParFlowProcessComponent(ProcessComponent):
@@ -254,7 +251,7 @@ class ParFlowProcessComponent(ProcessComponent):
254
251
  )}
255
252
  except Exception as e: # noqa: BLE001 — must-not-raise contract
256
253
  logger.error(f"Failed to read ParFlow outputs: {e}")
257
- return {"baseflow": torch.zeros(1)}
254
+ raise RuntimeError("Failed to read ParFlow outputs") from e
258
255
 
259
256
 
260
257
  class MODFLOWProcessComponent(ProcessComponent):
@@ -336,7 +333,7 @@ class MODFLOWProcessComponent(ProcessComponent):
336
333
  )}
337
334
  except Exception as e: # noqa: BLE001 — must-not-raise contract
338
335
  logger.error(f"Failed to read MODFLOW outputs: {e}")
339
- return {"drain_discharge": torch.zeros(1)}
336
+ raise RuntimeError("Failed to read MODFLOW outputs") from e
340
337
 
341
338
 
342
339
  class MESHProcessComponent(ProcessComponent):
@@ -410,7 +407,7 @@ class MESHProcessComponent(ProcessComponent):
410
407
  )}
411
408
  except Exception as e: # noqa: BLE001 — must-not-raise contract
412
409
  logger.error(f"Failed to read MESH outputs: {e}")
413
- return {"discharge": torch.zeros(1)}
410
+ raise RuntimeError("Failed to read MESH outputs") from e
414
411
 
415
412
 
416
413
  class TRouteProcessComponent(ProcessComponent):
@@ -485,10 +482,13 @@ class TRouteProcessComponent(ProcessComponent):
485
482
  ds.close()
486
483
  return {"discharge": discharge}
487
484
  ds.close()
488
- return {"discharge": torch.zeros(1)}
485
+ raise KeyError(
486
+ "No supported discharge variable found in t-route output "
487
+ "(expected one of flow, streamflow, discharge, q_lateral)"
488
+ )
489
489
  except Exception as e: # noqa: BLE001 — must-not-raise contract
490
490
  logger.error(f"Failed to read t-route outputs: {e}")
491
- return {"discharge": torch.zeros(1)}
491
+ raise RuntimeError("Failed to read t-route outputs") from e
492
492
 
493
493
 
494
494
  class CLMProcessComponent(ProcessComponent):
@@ -578,7 +578,4 @@ class CLMProcessComponent(ProcessComponent):
578
578
  }
579
579
  except Exception as e: # noqa: BLE001 — must-not-raise contract
580
580
  logger.error(f"Failed to read CLM outputs: {e}")
581
- return {
582
- "runoff": torch.zeros(1),
583
- "evapotranspiration": torch.zeros(1),
584
- }
581
+ raise RuntimeError("Failed to read CLM outputs") from e
@@ -481,6 +481,10 @@ class BaseDatasetHandler(ABC, ConfigMixin):
481
481
  or the parallel filesystem does not support POSIX file locking),
482
482
  retries with h5netcdf using ``lock=False``.
483
483
 
484
+ If a libhdf5 build conflict between h5py and netCDF4 was detected at
485
+ startup, the h5netcdf fallback is skipped (importing h5py would
486
+ corrupt the netcdf4 backend for the rest of the process).
487
+
484
488
  Args:
485
489
  path: Path to the NetCDF file
486
490
  **kwargs: Additional arguments passed to xr.open_dataset
@@ -494,6 +498,21 @@ class BaseDatasetHandler(ABC, ConfigMixin):
494
498
  msg = str(e).lower()
495
499
  if not any(pat.lower() in msg for pat in self._HDF_ERROR_PATTERNS):
496
500
  raise
501
+
502
+ # If h5py and netCDF4 bundle different libhdf5 builds, falling
503
+ # back to h5netcdf would import h5py and poison the netcdf4
504
+ # backend for the rest of the process. Fail fast with a
505
+ # clear message instead.
506
+ from symfluence.core.hdf5_safety import hdf5_library_conflict
507
+ if hdf5_library_conflict:
508
+ raise OSError(
509
+ f"netcdf4 engine failed on {Path(path).name} and the "
510
+ f"h5netcdf fallback is disabled because h5py and netCDF4 "
511
+ f"link against different libhdf5 builds. Fix: "
512
+ f"pip uninstall h5py netCDF4 -y && "
513
+ f"conda install h5py netcdf4"
514
+ ) from e
515
+
497
516
  self.logger.warning(
498
517
  f"netcdf4 engine failed on {Path(path).name} (likely HDF5 "
499
518
  f"library conflict or file-locking issue), retrying with "
@@ -92,18 +92,28 @@ class TauDEMExecutor:
92
92
  Detect the best available MPI launcher.
93
93
 
94
94
  Respects MPI_LAUNCHER config override. Otherwise uses smart detection:
95
+ - Checks for bundled mpirun in taudem_dir (npm dist/bin/ layout)
95
96
  - If OpenMPI is detected, always use mpirun (OpenMPI's own launcher)
96
97
  since srun requires SLURM PMI support that OpenMPI often lacks.
97
98
  - If srun is available AND has PMI support, use srun (Intel MPI, MPICH).
98
99
  - Falls back to mpirun, then None.
99
100
 
100
101
  Returns:
101
- 'srun', 'mpirun', or None if no MPI launcher found
102
+ Path to mpirun, 'srun', 'mpirun', or None if no MPI launcher found
102
103
  """
103
104
  override = self.config.get('MPI_LAUNCHER')
104
105
  if override and shutil.which(override):
105
106
  return override
106
107
 
108
+ # Check for bundled mpirun next to TauDEM tools (npm layout)
109
+ bundled = os.path.join(self.taudem_dir, 'mpirun')
110
+ if os.path.isfile(bundled) and os.access(bundled, os.X_OK):
111
+ self.logger.debug("Using bundled MPI launcher: %s", bundled)
112
+ # Set OPAL_PREFIX so OpenMPI finds its data files
113
+ prefix = os.path.dirname(self.taudem_dir)
114
+ os.environ.setdefault('OPAL_PREFIX', prefix)
115
+ return bundled
116
+
107
117
  has_srun = shutil.which("srun") is not None
108
118
  has_mpirun = shutil.which("mpirun") is not None
109
119
 
@@ -516,6 +516,15 @@ if [ $? -ne 0 ]; then
516
516
  exit 1
517
517
  fi
518
518
 
519
+ # Export NetCDF paths so PIO's CMake can find NetCDF C/Fortran libraries.
520
+ # CIME injects these into XML but PIO's CMakeLists.txt needs them as env vars
521
+ # or in CMAKE_PREFIX_PATH for find_package(NetCDF) to work.
522
+ if [ -n "${NETCDF_C:-}" ]; then
523
+ export NetCDF_C_PATH="${NETCDF_C}"
524
+ export CMAKE_PREFIX_PATH="${NETCDF_C}:${NETCDF_FORTRAN:-$NETCDF_C}:${CMAKE_PREFIX_PATH:-}"
525
+ echo "Exported NetCDF_C_PATH=$NETCDF_C for PIO CMake discovery"
526
+ fi
527
+
519
528
  # Build (CIME case.build uses GMAKE_J for parallelism, not --parallel)
520
529
  echo "Running case.build..."
521
530
  NCORES=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
@@ -18,6 +18,7 @@ from typing import Optional
18
18
 
19
19
  from symfluence.core.exceptions import ModelExecutionError, symfluence_error_handler
20
20
  from symfluence.core.mixins.project import resolve_data_subdir
21
+ from symfluence.core.mpi_utils import find_mpirun
21
22
  from symfluence.models.base.base_runner import BaseModelRunner
22
23
  from symfluence.models.registry import ModelRegistry
23
24
 
@@ -140,7 +141,13 @@ class CLMParFlowRunner(BaseModelRunner):
140
141
 
141
142
  num_procs = self._get_num_procs()
142
143
  if num_procs > 1:
143
- cmd = ['mpirun', '-np', str(num_procs), str(pf_exe), runname]
144
+ mpirun = find_mpirun(pf_exe)
145
+ if mpirun is None:
146
+ raise ModelExecutionError(
147
+ "MPI launcher (mpirun/mpiexec) not found. "
148
+ "Install OpenMPI or use the npm package which bundles it."
149
+ )
150
+ cmd = [mpirun, '-np', str(num_procs), str(pf_exe), runname]
144
151
  else:
145
152
  cmd = [str(pf_exe), runname]
146
153