Implemented the next 4h-plan phase: dual-run support + explicit cutover gate.

This commit is contained in:
2026-04-06 19:09:20 +10:00
parent 1ef300d25e
commit 1e750e35d1
7 changed files with 238 additions and 20 deletions
+45 -9
View File
@@ -36,11 +36,11 @@ services:
RAIN_SITE: "home"
RAIN_HORIZON_HOURS: "4"
RAIN_MODEL_NAME: "rain_next_4h"
RAIN_MODEL_VERSION_BASE: "rain-auto-v2-extended-4h"
RAIN_MODEL_VERSION_BASE: "rain-auto-v2-extended-calendar-4h"
RAIN_MODEL_FAMILY: "auto"
RAIN_FEATURE_SET: "extended"
RAIN_FEATURE_SET: "extended_calendar"
RAIN_FORECAST_MODEL: "ecmwf"
RAIN_LOOKBACK_DAYS: "30"
RAIN_LOOKBACK_DAYS: "60"
RAIN_TRAIN_INTERVAL_HOURS: "24"
RAIN_PREDICT_INTERVAL_MINUTES: "10"
RAIN_MIN_PRECISION: "0.70"
@@ -50,12 +50,48 @@ services:
RAIN_THRESHOLD_POLICY: "walk_forward"
RAIN_WALK_FORWARD_FOLDS: "4"
RAIN_ALLOW_EMPTY_DATA: "true"
RAIN_MODEL_PATH: "/app/models/rain_model.pkl"
RAIN_MODEL_BACKUP_PATH: "/app/models/rain_model.pkl.last_good"
RAIN_REPORT_PATH: "/app/models/rain_model_report.json"
RAIN_AUDIT_PATH: "/app/models/rain_data_audit.json"
RAIN_DATASET_PATH: "/app/models/datasets/rain_dataset_{model_version}_{feature_set}.csv"
RAIN_MODEL_CARD_PATH: "/app/models/model_card_{model_version}.md"
RAIN_MODEL_PATH: "/app/models/rain_model_4h.pkl"
RAIN_MODEL_BACKUP_PATH: "/app/models/rain_model_4h.pkl.last_good"
RAIN_REPORT_PATH: "/app/models/rain_model_report_4h.json"
RAIN_AUDIT_PATH: "/app/models/rain_data_audit_4h.json"
RAIN_DATASET_PATH: "/app/models/datasets/rain_dataset_4h_{model_version}_{feature_set}.csv"
RAIN_MODEL_CARD_PATH: "/app/models/model_card_4h_{model_version}.md"
volumes:
- ./models:/app/models
rainml_1h:
build:
context: .
dockerfile: Dockerfile.train
depends_on:
- timescaledb
restart: unless-stopped
profiles: ["shadow"]
environment:
DATABASE_URL: "postgres://postgres:postgres@timescaledb:5432/micrometeo?sslmode=disable"
RAIN_SITE: "home"
RAIN_HORIZON_HOURS: "1"
RAIN_MODEL_NAME: "rain_next_1h"
RAIN_MODEL_VERSION_BASE: "rain-auto-v1-extended-1h"
RAIN_MODEL_FAMILY: "auto"
RAIN_FEATURE_SET: "extended"
RAIN_FORECAST_MODEL: "ecmwf"
RAIN_LOOKBACK_DAYS: "60"
RAIN_TRAIN_INTERVAL_HOURS: "24"
RAIN_PREDICT_INTERVAL_MINUTES: "10"
RAIN_MIN_PRECISION: "0.70"
RAIN_TUNE_HYPERPARAMETERS: "true"
RAIN_MAX_HYPERPARAM_TRIALS: "12"
RAIN_CALIBRATION_METHODS: "none,sigmoid,isotonic"
RAIN_THRESHOLD_POLICY: "walk_forward"
RAIN_WALK_FORWARD_FOLDS: "4"
RAIN_ALLOW_EMPTY_DATA: "true"
RAIN_MODEL_PATH: "/app/models/rain_model_1h.pkl"
RAIN_MODEL_BACKUP_PATH: "/app/models/rain_model_1h.pkl.last_good"
RAIN_REPORT_PATH: "/app/models/rain_model_report_1h.json"
RAIN_AUDIT_PATH: "/app/models/rain_data_audit_1h.json"
RAIN_DATASET_PATH: "/app/models/datasets/rain_dataset_1h_{model_version}_{feature_set}.csv"
RAIN_MODEL_CARD_PATH: "/app/models/model_card_1h_{model_version}.md"
volumes:
- ./models:/app/models