{
    "water_balance_validation": {
        "total_input_mm": 311.6677633731767,
        "total_output_mm": 565.2041015625,
        "total_residual_mm": -253.53627715416707,
        "residual_pct": -81.34825187248973,
        "mean_daily_error_pct": -355746687.4025357,
        "max_daily_error_pct": 864640331.2683105,
        "tolerance_pct": 5.0,
        "components": {
            "evapotranspiration_mm": 549.1910400390625,
            "evapotranspiration_pct": 176.21040883252542,
            "runoff_mm": 16.01226806640625,
            "runoff_pct": 5.137608039120137,
            "storage_change_mm": 0.0007439851760864258,
            "storage_change_pct": 0.0002387109812173972
        },
        "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": 0.04558044672012329,
                "R2": 0.11130981892347336,
                "PBIAS": -2.837986469268799,
                "RMSE": 0.042623430490493774,
                "MAE": 0.02480454370379448,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-infiltration": {
                "model_name": "ML-Hydro-infiltration",
                "NSE": -0.16074740886688232,
                "R2": 0.09578610956668854,
                "PBIAS": 7.378612995147705,
                "RMSE": 0.036762431263923645,
                "MAE": 0.031505610793828964,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-percolation": {
                "model_name": "ML-Hydro-percolation",
                "NSE": -2.013718843460083,
                "R2": 0.11903560161590576,
                "PBIAS": 10.587848663330078,
                "RMSE": 0.001778682810254395,
                "MAE": 0.0016709539340808988,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "GOOD"
            },
            "ML-Hydro-baseflow": {
                "model_name": "ML-Hydro-baseflow",
                "NSE": 0.04947775602340698,
                "R2": 0.08874453604221344,
                "PBIAS": 1.3167924880981445,
                "RMSE": 0.0002726921811699867,
                "MAE": 0.00019673726637847722,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-reservoir": {
                "model_name": "ML-Hydro-reservoir",
                "NSE": -5.246677398681641,
                "R2": 0.07925587147474289,
                "PBIAS": -31.525602340698242,
                "RMSE": 0.036522626876831055,
                "MAE": 0.03334677964448929,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-soil_storage": {
                "model_name": "ML-Hydro-soil_storage",
                "NSE": -0.32680535316467285,
                "R2": 0.07047700881958008,
                "PBIAS": 10.647372245788574,
                "RMSE": 0.009155653417110443,
                "MAE": 0.007393988780677319,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "GOOD"
            },
            "ML-Hydro-aquifer": {
                "model_name": "ML-Hydro-aquifer",
                "NSE": -7.998546600341797,
                "R2": 0.04719196632504463,
                "PBIAS": -42.45633316040039,
                "RMSE": 0.15571600198745728,
                "MAE": 0.14640101790428162,
                "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": -213318.77371097394,
                "R2": 0.18815912112953626,
                "PBIAS": 873.2155455313259,
                "RMSE": 3.7420438101269617,
                "MAE": 2.1421508875177704,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Curve Number": {
                "model_name": "Curve Number",
                "NSE": -836.7574127094285,
                "R2": 0.007976806055799196,
                "PBIAS": -88.60159307687981,
                "RMSE": 0.23450518533628703,
                "MAE": 0.22289736613614636,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Simple Balance": {
                "model_name": "Simple Balance",
                "NSE": -232839.05989658885,
                "R2": 0.08472507629608138,
                "PBIAS": 623.578898768951,
                "RMSE": 3.9095085001750896,
                "MAE": 1.7016084851163824,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Persistence": {
                "model_name": "Persistence",
                "NSE": -73.58094024658203,
                "R2": 0.07884283363819122,
                "PBIAS": 17.922916412353516,
                "RMSE": 0.06996925175189972,
                "MAE": 0.052347224205732346,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "SATISFACTORY"
            },
            "Moving Average": {
                "model_name": "Moving Average",
                "NSE": -38.58912488741234,
                "R2": 0.29695574073362374,
                "PBIAS": 18.460802317073956,
                "RMSE": 0.05097782023254869,
                "MAE": 0.04125776974422357,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "SATISFACTORY"
            }
        }
    },
    "validation_summary": {
        "total_components_validated": 7,
        "components_passed": 0,
        "components_marginal": 0,
        "components_failed": 7,
        "average_NSE": -2.2359196288245067,
        "average_R2": 0.08740013039537839,
        "average_PBIAS": 15.250078337533134
    },
    "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": -213318.77371097394,
                        "R2": 0.18815912112953626,
                        "PBIAS": 873.2155455313259,
                        "RMSE": 3.7420438101269617,
                        "MAE": 2.1421508875177704
                    },
                    "Curve Number": {
                        "NSE": -836.7574127094285,
                        "R2": 0.007976806055799196,
                        "PBIAS": -88.60159307687981,
                        "RMSE": 0.23450518533628703,
                        "MAE": 0.22289736613614636
                    },
                    "Simple Balance": {
                        "NSE": -232839.05989658885,
                        "R2": 0.08472507629608138,
                        "PBIAS": 623.578898768951,
                        "RMSE": 3.9095085001750896,
                        "MAE": 1.7016084851163824
                    },
                    "Persistence": {
                        "NSE": -73.58094024658203,
                        "R2": 0.07884283363819122,
                        "PBIAS": 17.922916412353516,
                        "RMSE": 0.06996925175189972,
                        "MAE": 0.052347224205732346
                    },
                    "Moving Average": {
                        "NSE": -38.58912488741234,
                        "R2": 0.29695574073362374,
                        "PBIAS": 18.460802317073956,
                        "RMSE": 0.05097782023254869,
                        "MAE": 0.04125776974422357
                    }
                },
                "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"
        }
    }
}