{
    "water_balance_validation": {
        "total_input_mm": 311.6677633731767,
        "total_output_mm": 529.5859375,
        "total_residual_mm": -217.91817412682332,
        "residual_pct": -69.92002373562713,
        "mean_daily_error_pct": -321340646.5812789,
        "max_daily_error_pct": 948011112.2131348,
        "tolerance_pct": 5.0,
        "components": {
            "evapotranspiration_mm": 507.61627197265625,
            "evapotranspiration_pct": 162.87095799665997,
            "runoff_mm": 21.986785888671875,
            "runoff_pct": 7.05455888370011,
            "storage_change_mm": -0.017103910446166992,
            "storage_change_pct": -0.005487866393704489
        },
        "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": -8.399396896362305,
                "R2": 0.014487069100141525,
                "PBIAS": 31.468338012695312,
                "RMSE": 0.08322039991617203,
                "MAE": 0.07836887985467911,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-infiltration": {
                "model_name": "ML-Hydro-infiltration",
                "NSE": -9.175453186035156,
                "R2": 0.008280674926936626,
                "PBIAS": 35.9120979309082,
                "RMSE": 0.08692760765552521,
                "MAE": 0.08209782093763351,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-percolation": {
                "model_name": "ML-Hydro-percolation",
                "NSE": -7.430444717407227,
                "R2": 0.01921074278652668,
                "PBIAS": 35.685306549072266,
                "RMSE": 0.006016783881932497,
                "MAE": 0.005638467613607645,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-baseflow": {
                "model_name": "ML-Hydro-baseflow",
                "NSE": -3.8866448402404785,
                "R2": 0.04636823758482933,
                "PBIAS": -22.775671005249023,
                "RMSE": 0.0002588164643384516,
                "MAE": 0.00023435488401446491,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "SATISFACTORY"
            },
            "ML-Hydro-reservoir": {
                "model_name": "ML-Hydro-reservoir",
                "NSE": -1.655583143234253,
                "R2": 0.024169938638806343,
                "PBIAS": 12.656238555908203,
                "RMSE": 0.011860963888466358,
                "MAE": 0.010186856612563133,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "GOOD"
            },
            "ML-Hydro-soil_storage": {
                "model_name": "ML-Hydro-soil_storage",
                "NSE": -424.8675842285156,
                "R2": 0.04568330943584442,
                "PBIAS": -100.6266098022461,
                "RMSE": 0.11379245668649673,
                "MAE": 0.11361580342054367,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "ML-Hydro-aquifer": {
                "model_name": "ML-Hydro-aquifer",
                "NSE": -0.7375799417495728,
                "R2": 9.657222835812718e-05,
                "PBIAS": 7.497566223144531,
                "RMSE": 0.03504633530974388,
                "MAE": 0.029467055574059486,
                "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": -64903.38490049268,
                "R2": 0.09177120306269641,
                "PBIAS": 608.7615386071442,
                "RMSE": 3.8471612936942723,
                "MAE": 2.313774851317589,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Curve Number": {
                "model_name": "Curve Number",
                "NSE": -478.3500383641794,
                "R2": 0.005648391577274427,
                "PBIAS": -91.69890760083526,
                "RMSE": 0.3306204850140929,
                "MAE": 0.32470890150001763,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Simple Balance": {
                "model_name": "Simple Balance",
                "NSE": -64785.42856078424,
                "R2": 0.06122663835090482,
                "PBIAS": 402.0111650595082,
                "RMSE": 3.8436638147960567,
                "MAE": 1.804502107725939,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "UNSATISFACTORY"
            },
            "Persistence": {
                "model_name": "Persistence",
                "NSE": -16.29281997680664,
                "R2": 0.03991793096065521,
                "PBIAS": -8.60301685333252,
                "RMSE": 0.06279662251472473,
                "MAE": 0.052565209567546844,
                "status": "FAIL",
                "nse_interpretation": "UNSATISFACTORY",
                "r2_interpretation": "UNSATISFACTORY",
                "pbias_interpretation": "VERY GOOD"
            },
            "Moving Average": {
                "model_name": "Moving Average",
                "NSE": -5.570583631941234,
                "R2": 0.30862049968264976,
                "PBIAS": -8.318437006750099,
                "RMSE": 0.038708411488343,
                "MAE": 0.031847724877695036,
                "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": -65.16466956479209,
        "average_R2": 0.02261379210020615,
        "average_PBIAS": 35.231689725603374
    },
    "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": -64903.38490049268,
                        "R2": 0.09177120306269641,
                        "PBIAS": 608.7615386071442,
                        "RMSE": 3.8471612936942723,
                        "MAE": 2.313774851317589
                    },
                    "Curve Number": {
                        "NSE": -478.3500383641794,
                        "R2": 0.005648391577274427,
                        "PBIAS": -91.69890760083526,
                        "RMSE": 0.3306204850140929,
                        "MAE": 0.32470890150001763
                    },
                    "Simple Balance": {
                        "NSE": -64785.42856078424,
                        "R2": 0.06122663835090482,
                        "PBIAS": 402.0111650595082,
                        "RMSE": 3.8436638147960567,
                        "MAE": 1.804502107725939
                    },
                    "Persistence": {
                        "NSE": -16.29281997680664,
                        "R2": 0.03991793096065521,
                        "PBIAS": -8.60301685333252,
                        "RMSE": 0.06279662251472473,
                        "MAE": 0.052565209567546844
                    },
                    "Moving Average": {
                        "NSE": -5.570583631941234,
                        "R2": 0.30862049968264976,
                        "PBIAS": -8.318437006750099,
                        "RMSE": 0.038708411488343,
                        "MAE": 0.031847724877695036
                    }
                },
                "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"
        }
    }
}