Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c16e6cd
Move days_per_period parameter to config
idelder Mar 3, 2026
dcae359
Remove days_per_period from all sql files
idelder Mar 3, 2026
5b2ddd3
First pass at removing period index on seasons
idelder Mar 4, 2026
fc3b8c1
Update test sets for removal of period indexed seasons
idelder Mar 4, 2026
49d9095
Remove period index from time_next dicts
idelder Mar 4, 2026
bb54662
Update time_manual to remove period index
idelder Mar 4, 2026
d73a664
Remove period index from several tables
idelder Mar 4, 2026
5aeee57
Update test_system legacy values for more storage frac constraints
idelder Mar 4, 2026
8b548ef
Remove season_label table
idelder Mar 5, 2026
4b0e730
Change time_season_sequential pk to only seas_seq
idelder Mar 5, 2026
e0ea360
Fix ramp rate constraints to adjust limit to hourly output
idelder Mar 5, 2026
bb243ca
Add hours column to time_of_day
idelder Mar 6, 2026
fbf1408
Move segment_fraction definition to season tables
idelder Mar 6, 2026
e23f267
Fix sequencing of model construction for time params
idelder Mar 6, 2026
ba9ecc1
Update seasonal storage season weight adjustment
idelder Mar 6, 2026
c211edb
Update test values for new seg_frac definition as no longer rounded
idelder Mar 6, 2026
7419317
Fix two bugs in new season_seq definition
idelder Mar 6, 2026
495e26c
Remove erroneous fk from limit_storage_level_fraction
idelder Mar 6, 2026
9f8ea11
Update hours column of time_of_day to REAL not INTEGER
idelder Mar 6, 2026
52981e0
Reinforce 0 to 1 constraint on segfrac
idelder Mar 6, 2026
6c0d467
Remove erroneous season fk from output_storage_level
idelder Mar 6, 2026
e944356
Fix season fk in output_curtailment
idelder Mar 6, 2026
9076cfc
Fix storage fraction constraints in example dbs
idelder Mar 6, 2026
598f461
Fix 0 to 1 constraint on segment fractions
idelder Mar 6, 2026
11563a9
Fix index construction for limit_storage_level_fraction and add prope…
idelder Mar 6, 2026
4454147
Remove period from deprecated cfp check
idelder Mar 7, 2026
71cffe7
Update unit cost explorer tool
idelder Mar 7, 2026
ba2b2a0
Update sql data validation
idelder Mar 7, 2026
4ff3814
Add 0 to 1 sql check on limit_storage_level_fraction
idelder Mar 7, 2026
f6eba06
Change some param domains to PositiveReals to avoid divide-by-zero er…
idelder Mar 7, 2026
17a0ead
Make time_of_day consistent with test sql style
idelder Mar 7, 2026
ec2f3af
Remove redundant time_season entries from survival_curve test sql
idelder Mar 7, 2026
866a3a6
Change INSERT to REPLACE in time_of_day for utopia test
idelder Mar 7, 2026
e37e8cf
Make sequence column unique in season tables
idelder Mar 7, 2026
74da33a
Update data_files temoa_schema_v4
idelder Mar 8, 2026
ead3a39
adapting migrator to changes in v4 schema and adding test for migration
idelder Mar 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
433 changes: 106 additions & 327 deletions data_files/example_dbs/materials.sql

Large diffs are not rendered by default.

328 changes: 91 additions & 237 deletions data_files/example_dbs/morris_utopia.sql

Large diffs are not rendered by default.

199 changes: 71 additions & 128 deletions data_files/example_dbs/seasonal_storage.sql

Large diffs are not rendered by default.

151 changes: 21 additions & 130 deletions data_files/example_dbs/stepped_demand.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ CREATE TABLE MetaData
);
INSERT INTO MetaData VALUES('DB_MAJOR',3,'DB major version number');
INSERT INTO MetaData VALUES('DB_MINOR',1,'DB minor version number');
INSERT INTO MetaData VALUES('days_per_period', 365, 'count of days in each period');
CREATE TABLE MetaDataReal
(
element TEXT,
Expand Down Expand Up @@ -68,8 +67,6 @@ CREATE TABLE capacity_credit
CREATE TABLE capacity_factor_process
(
region TEXT,
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tod TEXT
Expand All @@ -79,14 +76,12 @@ CREATE TABLE capacity_factor_process
vintage INTEGER,
factor REAL,
notes TEXT,
PRIMARY KEY (region, period, season, tod, tech, vintage),
PRIMARY KEY (region, season, tod, tech, vintage),
CHECK (factor >= 0 AND factor <= 1)
);
CREATE TABLE capacity_factor_tech
(
region TEXT,
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tod TEXT
Expand All @@ -95,75 +90,15 @@ CREATE TABLE capacity_factor_tech
REFERENCES Technology (tech),
factor REAL,
notes TEXT,
PRIMARY KEY (region, period, season, tod, tech),
PRIMARY KEY (region, season, tod, tech),
CHECK (factor >= 0 AND factor <= 1)
);
INSERT INTO capacity_factor_tech VALUES('electricville',2000,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2000,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2000,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2000,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2000,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2000,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2005,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2005,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2005,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2005,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2005,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2005,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2010,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2010,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2010,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2010,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2010,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2010,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2015,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2015,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2015,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2015,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2015,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2015,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2020,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2020,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2020,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2020,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2020,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2020,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2025,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2025,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2025,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2025,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2025,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2025,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2030,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2030,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2030,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2030,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2030,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2030,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2035,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2035,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2035,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2035,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2035,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2035,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2040,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2040,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2040,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2040,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2040,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2040,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2045,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2045,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2045,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2045,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2045,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2045,'summer','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2050,'inter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2050,'winter','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2050,'summer','day','EF',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2050,'inter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2050,'winter','day','EH',1.0,'');
INSERT INTO capacity_factor_tech VALUES('electricville',2050,'summer','day','EH',1.0,'');
INSERT INTO "capacity_factor_tech" VALUES('electricville','inter','day','EF',1.0,'');
INSERT INTO "capacity_factor_tech" VALUES('electricville','winter','day','EF',1.0,'');
INSERT INTO "capacity_factor_tech" VALUES('electricville','summer','day','EF',1.0,'');
INSERT INTO "capacity_factor_tech" VALUES('electricville','inter','day','EH',1.0,'');
INSERT INTO "capacity_factor_tech" VALUES('electricville','winter','day','EH',1.0,'');
INSERT INTO "capacity_factor_tech" VALUES('electricville','summer','day','EH',1.0,'');
CREATE TABLE CapacityToActivity
(
region TEXT,
Expand Down Expand Up @@ -358,8 +293,6 @@ INSERT INTO Demand VALUES('electricville',2050,'RL',2.0,NULL,NULL);
CREATE TABLE DemandSpecificDistribution
(
region TEXT,
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tod TEXT
Expand All @@ -368,42 +301,12 @@ CREATE TABLE DemandSpecificDistribution
REFERENCES Commodity (name),
dsd REAL,
notes TEXT,
PRIMARY KEY (region, period, season, tod, demand_name),
PRIMARY KEY (region, season, tod, demand_name),
CHECK (dsd >= 0 AND dsd <= 1)
);
INSERT INTO DemandSpecificDistribution VALUES('electricville',2000,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2000,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2000,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2005,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2005,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2005,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2010,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2010,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2010,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2015,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2015,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2015,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2020,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2020,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2020,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2025,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2025,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2025,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2030,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2030,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2030,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2035,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2035,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2035,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2040,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2040,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2040,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2045,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2045,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2045,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2050,'inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2050,'summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville',2050,'winter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville','inter','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville','summer','day','RL',0.3332999999999999852,'');
INSERT INTO DemandSpecificDistribution VALUES('electricville','winter','day','RL',0.3332999999999999852,'');
CREATE TABLE end_of_life_output
(
region TEXT,
Expand Down Expand Up @@ -443,8 +346,6 @@ INSERT INTO efficiency VALUES('electricville','HYD','EH',2020,'ELC',1.0,NULL);
CREATE TABLE efficiency_variable
(
region TEXT,
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tod TEXT
Expand All @@ -459,7 +360,7 @@ CREATE TABLE efficiency_variable
REFERENCES Commodity (name),
efficiency REAL,
notes TEXT,
PRIMARY KEY (region, period, season, tod, input_comm, tech, vintage, output_comm),
PRIMARY KEY (region, season, tod, input_comm, tech, vintage, output_comm),
CHECK (efficiency > 0)
);
CREATE TABLE emission_activity
Expand Down Expand Up @@ -663,21 +564,17 @@ CREATE TABLE limit_degrowth_new_capacity_delta
CREATE TABLE LimitStorageLevelFraction
(
region TEXT,
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tod TEXT
REFERENCES TimeOfDay (tod),
tech TEXT
REFERENCES Technology (tech),
vintage INTEGER
REFERENCES TimePeriod (period),
operator TEXT NOT NULL DEFAULT "le"
REFERENCES Operator (operator),
fraction REAL,
notes TEXT,
PRIMARY KEY(region, period, season, tod, tech, vintage, operator)
PRIMARY KEY(region, season, tod, tech, operator)
);
CREATE TABLE limit_activity
(
Expand Down Expand Up @@ -799,8 +696,6 @@ CREATE TABLE limit_seasonal_capacity_factor
(
region TEXT
REFERENCES Region (region),
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tech TEXT
Expand All @@ -809,7 +704,7 @@ CREATE TABLE limit_seasonal_capacity_factor
REFERENCES Operator (operator),
factor REAL,
notes TEXT,
PRIMARY KEY(region, period, season, tech, operator)
PRIMARY KEY(region, season, tech, operator)
);
CREATE TABLE limit_tech_input_split
(
Expand Down Expand Up @@ -1064,16 +959,14 @@ INSERT INTO Region VALUES('electricville',NULL);
CREATE TABLE reserve_capacity_derate
(
region TEXT,
period INTEGER
REFERENCES TimePeriod (period),
season TEXT
REFERENCES SeasonLabel (season),
tech TEXT
REFERENCES Technology (tech),
vintage INTEGER,
factor REAL,
notes TEXT,
PRIMARY KEY (region, period, season, tech, vintage),
PRIMARY KEY (region, season, tech, vintage),
CHECK (factor >= 0 AND factor <= 1)
);
CREATE TABLE TimeSegmentFraction
Expand Down Expand Up @@ -1224,16 +1117,14 @@ INSERT INTO TimeSeason VALUES(2050,2,'summer',NULL);
INSERT INTO TimeSeason VALUES(2050,3,'winter',NULL);
CREATE TABLE time_season_sequential
(
period INTEGER
REFERENCES TimePeriod (period),
sequence INTEGER,
sequence INTEGER UNIQUE,
seas_seq TEXT,
season TEXT
REFERENCES SeasonLabel (season),
num_days REAL NOT NULL,
REFERENCES time_season (season),
segment_fraction REAL NOT NULL,
notes TEXT,
PRIMARY KEY (period, sequence, seas_seq, season),
CHECK (num_days > 0)
PRIMARY KEY (seas_seq),
CHECK (segment_fraction >= 0 AND segment_fraction <= 1)
);
CREATE TABLE TimePeriodType
(
Expand Down
Loading