calliope icon indicating copy to clipboard operation
calliope copied to clipboard

[meta] Update config to better align with typedconfig validation

Open brynpickering opened this issue 4 years ago • 1 comments

There's a bunch of changes/improvements that need to be applied to our YAML configuration files so they can be validated with https://github.com/calliope-project/typedconfig.

These include:

  1. Explicit links (#324)
  2. Removing file imports in preference of explicitly pointing to a list of techs, locations, etc. files from the main model config (e.g. techs: ['techs1.yaml', 'techs2.yaml'])
  3. Reorganise nesting of costs, to have the cost classes as the last key:value pair in defining tech costs (e.g. costs.energy_cap.monetary: 2 instead of costs.monetary.energy_cap)
  4. Explicitly specify which constraints etc. are completely optional (and if never defined, the model includes nothing related to it)

brynpickering avatar Aug 27 '20 16:08 brynpickering

Just to check, is by solving this #260 also solved the following problem: for constraints of type demand_share_per_timestep_min, when I define a group constraint for the minimum share of one technology over several locations I get the following error: "Invalid constraint expression. The constraint expression resolved to a trivial Boolean (True) instead of a Pyomo object. Please modify your rule to return Constraint.Feasible instead of True." I have three conversion technologies that can meet one type of demand and I want to constrain it that one of the conversion technology need to meet a certain share of demand in all the timesteps. The same issue occurs in versions 0.6.6post1 and 0.6.5 but works completely fine in 0.6.4.

CROdominik avatar Dec 01 '20 20:12 CROdominik

(1), (3), (4) all Fixed in #518. We decided not implement (2) and to stick with our current approach of relatie file imports.

brynpickering avatar Jan 07 '24 13:01 brynpickering