{
    "water_balance_validation": {
        "total_input_mm": 311.6677633731767,
        "total_output_mm": 589.2465209960938,
        "total_residual_mm": -277.57875762291707,
        "residual_pct": -89.06238958392272,
        "mean_daily_error_pct": -372107123.6821753,
        "max_daily_error_pct": 920274257.6599121,
        "tolerance_pct": 5.0,
        "components": {
            "evapotranspiration_mm": 565.4059448242188,
            "evapotranspiration_pct": 181.41303377187188,
            "runoff_mm": 23.836727142333984,
            "runoff_pct": 7.648120833656121,
            "storage_change_mm": 0.0038429200649261475,
            "storage_change_pct": 0.001233018141925962
        },
        "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.039540648460388184,
                "R2": 0.5182631015777588,
                "PBIAS": 1.7201310396194458,
                "RMSE": 0.03821251168847084,
                "MAE": 0.03408967703580856,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-infiltration": {
                "model_name": "ML-Hydro-infiltration",
                "NSE": -7.336616516113281,
                "R2": 0.2894749343395233,
                "PBIAS": 45.68811798095703,
                "RMSE": 0.11628599464893341,
                "MAE": 0.11032409220933914,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-percolation": {
                "model_name": "ML-Hydro-percolation",
                "NSE": 0.05272728204727173,
                "R2": 0.5344349145889282,
                "PBIAS": 3.5171709060668945,
                "RMSE": 0.0026483137626200914,
                "MAE": 0.0023693558759987354,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-baseflow": {
                "model_name": "ML-Hydro-baseflow",
                "NSE": 0.04606175422668457,
                "R2": 0.5228281021118164,
                "PBIAS": -0.12745290994644165,
                "RMSE": 0.00011615009134402499,
                "MAE": 0.00010160268720937893,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "ML-Hydro-reservoir": {
                "model_name": "ML-Hydro-reservoir",
                "NSE": -5.494733810424805,
                "R2": 0.0410393625497818,
                "PBIAS": -33.68131637573242,
                "RMSE": 0.02301625907421112,
                "MAE": 0.02109353058040142,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-soil_storage": {
                "model_name": "ML-Hydro-soil_storage",
                "NSE": -344.21258544921875,
                "R2": 0.0036056535318493843,
                "PBIAS": -22.850255966186523,
                "RMSE": 0.013461432419717312,
                "MAE": 0.01343630626797676,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "SATISFACTORY"
            },
            "ML-Hydro-aquifer": {
                "model_name": "ML-Hydro-aquifer",
                "NSE": -0.9722292423248291,
                "R2": 0.09544175863265991,
                "PBIAS": -9.316615104675293,
                "RMSE": 0.03415773808956146,
                "MAE": 0.02425486594438553,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "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": -193485.84760879827,
                "R2": 0.09843589400387813,
                "PBIAS": 553.7553580716412,
                "RMSE": 3.6664241547627445,
                "MAE": 2.1248350985524187,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Curve Number": {
                "model_name": "Curve Number",
                "NSE": -1520.507383681425,
                "R2": 0.0003014573554469451,
                "PBIAS": -92.34315043150319,
                "RMSE": 0.3251277309290917,
                "MAE": 0.31975610296342083,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Simple Balance": {
                "model_name": "Simple Balance",
                "NSE": -201575.90549178503,
                "R2": 0.022925097669163702,
                "PBIAS": 372.2153058495224,
                "RMSE": 3.7422893863336313,
                "MAE": 1.6926864381278,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Persistence": {
                "model_name": "Persistence",
                "NSE": -41.708221435546875,
                "R2": 0.0024654327426105738,
                "PBIAS": 4.586919784545898,
                "RMSE": 0.054471924901008606,
                "MAE": 0.039427801966667175,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "Moving Average": {
                "model_name": "Moving Average",
                "NSE": -13.483872451536223,
                "R2": 0.14048171728401396,
                "PBIAS": 4.972091324410156,
                "RMSE": 0.031721909865886244,
                "MAE": 0.02570123018330129,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            }
        }
    },
    "validation_summary": {
        "total_components_validated": 7,
        "components_passed": 0,
        "components_marginal": 0,
        "components_failed": 7,
        "average_NSE": -51.125405047621044,
        "average_R2": 0.28644111819033113,
        "average_PBIAS": 16.70015146902629
    },
    "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": -193485.84760879827,
                        "R2": 0.09843589400387813,
                        "PBIAS": 553.7553580716412,
                        "RMSE": 3.6664241547627445,
                        "MAE": 2.1248350985524187
                    },
                    "Curve Number": {
                        "NSE": -1520.507383681425,
                        "R2": 0.0003014573554469451,
                        "PBIAS": -92.34315043150319,
                        "RMSE": 0.3251277309290917,
                        "MAE": 0.31975610296342083
                    },
                    "Simple Balance": {
                        "NSE": -201575.90549178503,
                        "R2": 0.022925097669163702,
                        "PBIAS": 372.2153058495224,
                        "RMSE": 3.7422893863336313,
                        "MAE": 1.6926864381278
                    },
                    "Persistence": {
                        "NSE": -41.708221435546875,
                        "R2": 0.0024654327426105738,
                        "PBIAS": 4.586919784545898,
                        "RMSE": 0.054471924901008606,
                        "MAE": 0.039427801966667175
                    },
                    "Moving Average": {
                        "NSE": -13.483872451536223,
                        "R2": 0.14048171728401396,
                        "PBIAS": 4.972091324410156,
                        "RMSE": 0.031721909865886244,
                        "MAE": 0.02570123018330129
                    }
                },
                "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"
        }
    }
}