@@ -288,6 +288,14 @@ def build_manifest(model: TemoaModel) -> list[LoadItem]:
288288 is_period_filtered = False , # Custom loader handles all logic
289289 is_table_required = False ,
290290 ),
291+ LoadItem (
292+ component = model .retired_existing_capacity ,
293+ table = 'output_retired_capacity' ,
294+ columns = ['region' , 'period' , 'tech' , 'vintage' , 'cap_early' ],
295+ custom_loader_name = '_load_retired_existing_capacity' ,
296+ is_period_filtered = False , # Custom loader handles all logic
297+ is_table_required = False ,
298+ ),
291299 LoadItem (
292300 component = model .cost_invest ,
293301 table = 'cost_invest' ,
@@ -419,26 +427,23 @@ def build_manifest(model: TemoaModel) -> list[LoadItem]:
419427 component = model .lifetime_tech ,
420428 table = 'lifetime_tech' ,
421429 columns = ['region' , 'tech' , 'lifetime' ],
422- validator_name = 'viable_rt' ,
423- validation_map = (0 , 1 ),
430+ custom_loader_name = '_load_lifetime_tech' ,
424431 is_period_filtered = False ,
425432 is_table_required = False ,
426433 ),
427434 LoadItem (
428435 component = model .lifetime_process ,
429436 table = 'lifetime_process' ,
430437 columns = ['region' , 'tech' , 'vintage' , 'lifetime' ],
431- validator_name = 'viable_rtv' ,
432- validation_map = (0 , 1 , 2 ),
438+ custom_loader_name = '_load_lifetime_process' ,
433439 is_period_filtered = False ,
434440 is_table_required = False ,
435441 ),
436442 LoadItem (
437443 component = model .lifetime_survival_curve ,
438444 table = 'lifetime_survival_curve' ,
439445 columns = ['region' , 'period' , 'tech' , 'vintage' , 'fraction' ],
440- validator_name = 'viable_rtv' ,
441- validation_map = (0 , 2 , 3 ),
446+ custom_loader_name = '_load_lifetime_survival_curve' ,
442447 is_period_filtered = False ,
443448 is_table_required = False ,
444449 ),
@@ -649,6 +654,66 @@ def build_manifest(model: TemoaModel) -> list[LoadItem]:
649654 validation_map = (0 , 1 , 2 ),
650655 is_table_required = False ,
651656 ),
657+ LoadItem (
658+ component = model .limit_growth_capacity ,
659+ table = 'limit_growth_capacity' ,
660+ columns = ['region' , 'tech_or_group' , 'operator' , 'rate' , 'seed' ],
661+ index_length = 3 ,
662+ validator_name = 'viable_rt' ,
663+ validation_map = (0 , 1 ),
664+ is_period_filtered = False ,
665+ is_table_required = False ,
666+ ),
667+ LoadItem (
668+ component = model .limit_growth_new_capacity ,
669+ table = 'limit_growth_new_capacity' ,
670+ columns = ['region' , 'tech_or_group' , 'operator' , 'rate' , 'seed' ],
671+ index_length = 3 ,
672+ validator_name = 'viable_rt' ,
673+ validation_map = (0 , 1 ),
674+ is_period_filtered = False ,
675+ is_table_required = False ,
676+ ),
677+ LoadItem (
678+ component = model .limit_growth_new_capacity_delta ,
679+ table = 'limit_growth_new_capacity_delta' ,
680+ columns = ['region' , 'tech_or_group' , 'operator' , 'rate' , 'seed' ],
681+ index_length = 3 ,
682+ validator_name = 'viable_rt' ,
683+ validation_map = (0 , 1 ),
684+ is_period_filtered = False ,
685+ is_table_required = False ,
686+ ),
687+ LoadItem (
688+ component = model .limit_degrowth_capacity ,
689+ table = 'limit_degrowth_capacity' ,
690+ columns = ['region' , 'tech_or_group' , 'operator' , 'rate' , 'seed' ],
691+ index_length = 3 ,
692+ validator_name = 'viable_rt' ,
693+ validation_map = (0 , 1 ),
694+ is_period_filtered = False ,
695+ is_table_required = False ,
696+ ),
697+ LoadItem (
698+ component = model .limit_degrowth_new_capacity ,
699+ table = 'limit_degrowth_new_capacity' ,
700+ columns = ['region' , 'tech_or_group' , 'operator' , 'rate' , 'seed' ],
701+ index_length = 3 ,
702+ validator_name = 'viable_rt' ,
703+ validation_map = (0 , 1 ),
704+ is_period_filtered = False ,
705+ is_table_required = False ,
706+ ),
707+ LoadItem (
708+ component = model .limit_degrowth_new_capacity_delta ,
709+ table = 'limit_degrowth_new_capacity_delta' ,
710+ columns = ['region' , 'tech_or_group' , 'operator' , 'rate' , 'seed' ],
711+ index_length = 3 ,
712+ validator_name = 'viable_rt' ,
713+ validation_map = (0 , 1 ),
714+ is_period_filtered = False ,
715+ is_table_required = False ,
716+ ),
652717 LoadItem (
653718 component = model .limit_resource ,
654719 table = 'limit_resource' ,
0 commit comments