#!/usr/bin/env bash set -euo pipefail SITE="${SITE:-home}" START="${START:-2026-02-01T00:00:00Z}" END="${END:-2026-03-03T23:55:00Z}" MODEL_VERSION="${MODEL_VERSION:-rain-logreg-v1}" MODEL_PATH="${MODEL_PATH:-models/rain_model.pkl}" REPORT_PATH="${REPORT_PATH:-models/rain_model_report.json}" AUDIT_PATH="${AUDIT_PATH:-models/rain_data_audit.json}" FEATURE_SET="${FEATURE_SET:-baseline}" MODEL_FAMILY="${MODEL_FAMILY:-logreg}" FORECAST_MODEL="${FORECAST_MODEL:-ecmwf}" DATASET_PATH="${DATASET_PATH:-models/datasets/rain_dataset_${MODEL_VERSION}_${FEATURE_SET}.csv}" if [[ -z "${DATABASE_URL:-}" ]]; then echo "DATABASE_URL is required" echo "example: export DATABASE_URL='postgres://postgres:postgres@localhost:5432/micrometeo?sslmode=disable'" exit 1 fi echo "Running rain data audit..." python scripts/audit_rain_data.py \ --site "$SITE" \ --start "$START" \ --end "$END" \ --feature-set "$FEATURE_SET" \ --forecast-model "$FORECAST_MODEL" \ --out "$AUDIT_PATH" echo "Training baseline rain model..." python scripts/train_rain_model.py \ --site "$SITE" \ --start "$START" \ --end "$END" \ --train-ratio 0.7 \ --val-ratio 0.15 \ --min-precision 0.70 \ --walk-forward-folds 0 \ --calibration-methods "none" \ --feature-set "$FEATURE_SET" \ --model-family "$MODEL_FAMILY" \ --forecast-model "$FORECAST_MODEL" \ --model-version "$MODEL_VERSION" \ --out "$MODEL_PATH" \ --report-out "$REPORT_PATH" \ --dataset-out "$DATASET_PATH" echo "Writing current prediction..." python scripts/predict_rain_model.py \ --site "$SITE" \ --model-path "$MODEL_PATH" \ --model-name "rain_next_1h" \ --forecast-model "$FORECAST_MODEL" echo "P0 rain workflow complete."