Skip to content

Comments

feat: Cosby PTF prior for K_D, combined optimizers, attribute column selection#134

Merged
taddyb merged 11 commits intoDeepGroundwater:masterfrom
taddyb:k_d_fix
Feb 17, 2026
Merged

feat: Cosby PTF prior for K_D, combined optimizers, attribute column selection#134
taddyb merged 11 commits intoDeepGroundwater:masterfrom
taddyb:k_d_fix

Conversation

@taddyb
Copy link
Collaborator

@taddyb taddyb commented Feb 15, 2026

Summary

  • K_D reparameterized as Cosby PTF + learned delta: Instead of learning K_D directly from bounds, K_D is now computed as 10^(log10_Ks_cosby + delta) where delta is the KAN-learned correction. This anchors hydraulic conductivity to the Cosby et al. (1984) pedotransfer function using sand/clay percentages, with the neural network learning a log-space correction term (K_D_delta with bounds [-2, 2]).
  • Unified attribute column selection: KAN and LSTM now each receive only their own input variables via a new select_columns() utility, drawn from a union attribute tensor. RoutingDataclass carries attribute_names for name-based column lookup.
  • Switched KAN optimizer to Adadelta: Both KAN and LSTM now use Adadelta (no manual LR schedule). Removed learning_rate from ExperimentConfig and the resolve_learning_rate helper.
  • Dead code cleanup: Removed resolve_learning_rate() from scripts_utils.py and its tests.
  • Docs updated: Training guide and future_work docs reflect the new dual-network architecture and Cosby PTF approach.

Test plan

  • Verify leakance tests pass (tests/routing/test_leakance.py)
  • Verify routing utils tests pass (tests/routing/test_utils.py)
  • Verify config validation tests pass (tests/routing/test_leakance.py::TestLeakanceConfigValidation)
  • Verify scripts_utils tests pass without resolve_learning_rate tests
  • Run training on MERIT/Lynker datasets to confirm end-to-end compatibility

🤖 Generated with Claude Code

@taddyb taddyb merged commit 5462923 into DeepGroundwater:master Feb 17, 2026
4 checks passed
@taddyb taddyb deleted the k_d_fix branch February 17, 2026 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant