42 lines
2.2 KiB
SQL
42 lines
2.2 KiB
SQL
-- Kalibrace PV forecastu per site (cutoff učení, škrcení policy, volitelné přepsání parametrů delty).
|
|
-- forecast_accuracy: flagy pro učení (vyloučení škrcených slotů apod.).
|
|
|
|
CREATE TABLE ems.site_pv_forecast_calibration (
|
|
site_id int NOT NULL PRIMARY KEY REFERENCES ems.site (id) ON DELETE CASCADE,
|
|
-- Od tohoto okamžiku (UTC) brát řádky do učení delty / vážených statistik (>=).
|
|
delta_learn_min_ts timestamptz NOT NULL,
|
|
-- Od kdy platí agresivní export/škrcení policy (NULL = neaplikovat časový filtr u heuristiky škrcení).
|
|
pv_curtailment_policy_effective_from timestamptz NULL,
|
|
top_n_days int NULL,
|
|
non_top_day_factor numeric NULL,
|
|
day_weight_gamma numeric NULL,
|
|
half_life_days numeric NULL,
|
|
threshold_w int NULL,
|
|
updated_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
COMMENT ON TABLE ems.site_pv_forecast_calibration IS
|
|
'Per-site kalibrace PV delta profilu a pravidla učení. NULL v numerických sloupích = použít default z ems.fn_pv_forecast_delta_profile.';
|
|
|
|
COMMENT ON COLUMN ems.site_pv_forecast_calibration.delta_learn_min_ts IS
|
|
'Dolní mez interval_start pro učení delty z forecast_accuracy (UTC).';
|
|
|
|
COMMENT ON COLUMN ems.site_pv_forecast_calibration.pv_curtailment_policy_effective_from IS
|
|
'Od tohoto času bereme heuristiku škrcení (planning_interval): sloty po tomto datu s curtailment/cut-off se mohou vyloučit z učení.';
|
|
|
|
ALTER TABLE ems.forecast_accuracy
|
|
ADD COLUMN IF NOT EXISTS learning_eligible boolean NOT NULL DEFAULT true,
|
|
ADD COLUMN IF NOT EXISTS learning_exclude_reason text NULL;
|
|
|
|
COMMENT ON COLUMN ems.forecast_accuracy.learning_eligible IS
|
|
'false = řádek se nepoužívá pro učení delty (škrcení, před cutoffem, …); actual_power_w může být NULL pro audit.';
|
|
|
|
COMMENT ON COLUMN ems.forecast_accuracy.learning_exclude_reason IS
|
|
'Důvod vyloučení z učení, např. curtailment_or_gen_cutoff, before_delta_learn_min.';
|
|
|
|
-- Seed: všechny existující lokality — stejný cutoff jako dosud v R__078 (začátek 2026-04-12 Europe/Prague).
|
|
INSERT INTO ems.site_pv_forecast_calibration (site_id, delta_learn_min_ts, top_n_days)
|
|
SELECT s.id, timestamptz '2026-04-11T22:00:00Z', 3
|
|
FROM ems.site s
|
|
ON CONFLICT (site_id) DO NOTHING;
|