53 lines
1.5 KiB
Bash
53 lines
1.5 KiB
Bash
#!/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}"
|
|
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 \
|
|
--feature-set "$FEATURE_SET" \
|
|
--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."
|