{
    "water_balance_validation": {
        "total_input_mm": 311.6677633731767,
        "total_output_mm": 558.3777465820312,
        "total_residual_mm": -246.70998320885457,
        "residual_pct": -79.15800483781679,
        "mean_daily_error_pct": -342595664.3751742,
        "max_daily_error_pct": 1014645481.1096191,
        "tolerance_pct": 5.0,
        "components": {
            "evapotranspiration_mm": 512.0988159179688,
            "evapotranspiration_pct": 164.30920232991986,
            "runoff_mm": 46.295780181884766,
            "runoff_pct": 14.854208751276058,
            "storage_change_mm": -0.016830474138259888,
            "storage_change_pct": -0.0054001331276946505
        },
        "pass_validation": false,
        "validation_note": "Using journal standard tolerance (5%) for physics-informed models"
    },
    "ml_model_validation": {
        "hydro_simulator": {
            "ML-Hydro-runoff": {
                "model_name": "ML-Hydro-runoff",
                "NSE": -45.49388122558594,
                "R2": 0.017155015841126442,
                "PBIAS": 61.04513931274414,
                "RMSE": 0.25339165329933167,
                "MAE": 0.2501572072505951,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-infiltration": {
                "model_name": "ML-Hydro-infiltration",
                "NSE": -19.010356903076172,
                "R2": 0.01225708331912756,
                "PBIAS": 47.60072708129883,
                "RMSE": 0.12647399306297302,
                "MAE": 0.12290700525045395,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-percolation": {
                "model_name": "ML-Hydro-percolation",
                "NSE": -59.65171813964844,
                "R2": 0.004920872859656811,
                "PBIAS": 70.82408142089844,
                "RMSE": 0.004236293025314808,
                "MAE": 0.004190468229353428,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-baseflow": {
                "model_name": "ML-Hydro-baseflow",
                "NSE": -1.11881422996521,
                "R2": 9.362979653815273e-07,
                "PBIAS": 12.088866233825684,
                "RMSE": 0.00024684876552782953,
                "MAE": 0.00021687579283025116,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "GOOD"
            },
            "ML-Hydro-reservoir": {
                "model_name": "ML-Hydro-reservoir",
                "NSE": 0.006669223308563232,
                "R2": 0.04221423715353012,
                "PBIAS": -1.3855390548706055,
                "RMSE": 0.0037465316709131002,
                "MAE": 0.0024572270922362804,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-soil_storage": {
                "model_name": "ML-Hydro-soil_storage",
                "NSE": -1410.536865234375,
                "R2": 0.050195928663015366,
                "PBIAS": 85.24425506591797,
                "RMSE": 0.032433196902275085,
                "MAE": 0.032239679247140884,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-aquifer": {
                "model_name": "ML-Hydro-aquifer",
                "NSE": -14.918848037719727,
                "R2": 0.004392842762172222,
                "PBIAS": 26.9047908782959,
                "RMSE": 0.056383103132247925,
                "MAE": 0.05442161485552788,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML Model": {
                "model_name": "ML Model",
                "NSE": 1.0,
                "R2": 1.0,
                "PBIAS": 0.0,
                "RMSE": 0.0,
                "MAE": 0.0,
                "status": "PASS",
                "nse_interpretation": "VERY GOOD",
                "r2_interpretation": "EXCELLENT",
                "pbias_interpretation": "VERY GOOD"
            },
            "Rational Method": {
                "model_name": "Rational Method",
                "NSE": -9251.363795633126,
                "R2": 0.14687764314570162,
                "PBIAS": 236.60493526514696,
                "RMSE": 3.66304582865918,
                "MAE": 2.312931808860659,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Curve Number": {
                "model_name": "Curve Number",
                "NSE": -316.51875847772385,
                "R2": 0.001270638030624127,
                "PBIAS": -96.05764853303401,
                "RMSE": 0.6785794381366356,
                "MAE": 0.6738899160691937,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Simple Balance": {
                "model_name": "Simple Balance",
                "NSE": -9980.208214086626,
                "R2": 0.05593247017904269,
                "PBIAS": 143.20731409664035,
                "RMSE": 3.804587350078826,
                "MAE": 2.0149896574484245,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Persistence": {
                "model_name": "Persistence",
                "NSE": -29.852508544921875,
                "R2": 0.04759080335497856,
                "PBIAS": -26.497013092041016,
                "RMSE": 0.21152476966381073,
                "MAE": 0.19466134905815125,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Moving Average": {
                "model_name": "Moving Average",
                "NSE": -23.380950278663683,
                "R2": 0.29788755324907745,
                "PBIAS": -26.078420997234158,
                "RMSE": 0.1880361351894224,
                "MAE": 0.1801971411908359,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            }
        }
    },
    "validation_summary": {
        "total_components_validated": 7,
        "components_passed": 0,
        "components_marginal": 0,
        "components_failed": 7,
        "average_NSE": -221.53197350672312,
        "average_R2": 0.018733845270941987,
        "average_PBIAS": 43.58477129255022
    },
    "baseline_comparison": {
        "component_analyzed": "runoff",
        "baseline_methods": {
            "Rational Method": {
                "description": "Q = C \u00d7 P, where C = 0.5 (mixed land use)",
                "reference": "Classical rational method"
            },
            "Curve Number": {
                "description": "NRCS SCS-CN method, CN = 75",
                "reference": "USDA Natural Resources Conservation Service"
            },
            "Simple Balance": {
                "description": "P - ET = R (simplified water balance)",
                "reference": "Basic hydrological equation"
            },
            "Persistence": {
                "description": "Tomorrow = Today (naive forecast)",
                "reference": "Time series baseline"
            },
            "Moving Average": {
                "description": "7-day moving average",
                "reference": "Statistical baseline"
            }
        },
        "comparison_results": {
            "runoff": {
                "detailed_metrics": {
                    "ML Model": {
                        "NSE": 1.0,
                        "R2": 1.0,
                        "PBIAS": 0.0,
                        "RMSE": 0.0,
                        "MAE": 0.0
                    },
                    "Rational Method": {
                        "NSE": -9251.363795633126,
                        "R2": 0.14687764314570162,
                        "PBIAS": 236.60493526514696,
                        "RMSE": 3.66304582865918,
                        "MAE": 2.312931808860659
                    },
                    "Curve Number": {
                        "NSE": -316.51875847772385,
                        "R2": 0.001270638030624127,
                        "PBIAS": -96.05764853303401,
                        "RMSE": 0.6785794381366356,
                        "MAE": 0.6738899160691937
                    },
                    "Simple Balance": {
                        "NSE": -9980.208214086626,
                        "R2": 0.05593247017904269,
                        "PBIAS": 143.20731409664035,
                        "RMSE": 3.804587350078826,
                        "MAE": 2.0149896574484245
                    },
                    "Persistence": {
                        "NSE": -29.852508544921875,
                        "R2": 0.04759080335497856,
                        "PBIAS": -26.497013092041016,
                        "RMSE": 0.21152476966381073,
                        "MAE": 0.19466134905815125
                    },
                    "Moving Average": {
                        "NSE": -23.380950278663683,
                        "R2": 0.29788755324907745,
                        "PBIAS": -26.078420997234158,
                        "RMSE": 0.1880361351894224,
                        "MAE": 0.1801971411908359
                    }
                },
                "improvements": {
                    "Rational Method": {
                        "NSE_improvement_%": null,
                        "R2_improvement_%": null,
                        "note": "Baseline model failed validation"
                    },
                    "Curve Number": {
                        "NSE_improvement_%": null,
                        "R2_improvement_%": null,
                        "note": "Baseline model failed validation"
                    },
                    "Simple Balance": {
                        "NSE_improvement_%": null,
                        "R2_improvement_%": null,
                        "note": "Baseline model failed validation"
                    },
                    "Persistence": {
                        "NSE_improvement_%": null,
                        "R2_improvement_%": null,
                        "note": "Baseline model failed validation"
                    },
                    "Moving Average": {
                        "NSE_improvement_%": null,
                        "R2_improvement_%": null,
                        "note": "Baseline model failed validation"
                    }
                },
                "average_improvement": null
            }
        },
        "validation_criteria": {
            "NSE_threshold": 0.5,
            "R2_threshold": 0.6,
            "PBIAS_threshold": 25,
            "reference": "Muletationa (2012)"
        },
        "conclusion": {
            "status": "INCONCLUSIVE",
            "message": "Unable to calculate improvement metrics"
        }
    }
}