From 7dd4aa30724e45d4906d5398eaaa2e38ef5fb6b2 Mon Sep 17 00:00:00 2001 From: Jan Ivar Korsbakken Date: Tue, 15 Oct 2024 12:06:01 +0200 Subject: [PATCH 1/3] Tried to add model and scenario fields to DataStructureConfig --- nomenclature/config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nomenclature/config.py b/nomenclature/config.py index 4d20d32e..b5b330d4 100644 --- a/nomenclature/config.py +++ b/nomenclature/config.py @@ -124,6 +124,8 @@ class DataStructureConfig(BaseModel): region: Optional[RegionCodeListConfig] = Field(default_factory=RegionCodeListConfig) variable: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) + model: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) + scenario: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) @field_validator("region", "variable", mode="before") @classmethod From dcf2526ef445fa58bce43de2ef68fe1712d80ea5 Mon Sep 17 00:00:00 2001 From: Jan Ivar Korsbakken Date: Tue, 15 Oct 2024 12:47:38 +0200 Subject: [PATCH 2/3] Added "model" and "scenario" to missing places in DataStructureConfig --- nomenclature/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nomenclature/config.py b/nomenclature/config.py index b5b330d4..654d32d6 100644 --- a/nomenclature/config.py +++ b/nomenclature/config.py @@ -127,7 +127,7 @@ class DataStructureConfig(BaseModel): model: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) scenario: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) - @field_validator("region", "variable", mode="before") + @field_validator("region", "variable", "model", "scenario", mode="before") @classmethod def add_dimension(cls, v, info: ValidationInfo): return {"dimension": info.field_name, **v} @@ -136,7 +136,7 @@ def add_dimension(cls, v, info: ValidationInfo): def repos(self) -> dict[str, str]: return { dimension: getattr(self, dimension).repositories - for dimension in ("region", "variable") + for dimension in ("region", "variable", "model", "scenario") if getattr(self, dimension).repositories } From 2e18f5e495539b0008f96b8d92610182f89e1b42 Mon Sep 17 00:00:00 2001 From: Jan Ivar Korsbakken Date: Tue, 15 Oct 2024 13:02:39 +0200 Subject: [PATCH 3/3] Fixed dimension sorting in config.DataStructureConfig --- nomenclature/config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nomenclature/config.py b/nomenclature/config.py index 654d32d6..0bae16b8 100644 --- a/nomenclature/config.py +++ b/nomenclature/config.py @@ -122,12 +122,12 @@ class DataStructureConfig(BaseModel): """ - region: Optional[RegionCodeListConfig] = Field(default_factory=RegionCodeListConfig) - variable: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) model: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) scenario: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) + region: Optional[RegionCodeListConfig] = Field(default_factory=RegionCodeListConfig) + variable: Optional[CodeListConfig] = Field(default_factory=CodeListConfig) - @field_validator("region", "variable", "model", "scenario", mode="before") + @field_validator("model", "scenario", "region", "variable", mode="before") @classmethod def add_dimension(cls, v, info: ValidationInfo): return {"dimension": info.field_name, **v} @@ -136,7 +136,7 @@ def add_dimension(cls, v, info: ValidationInfo): def repos(self) -> dict[str, str]: return { dimension: getattr(self, dimension).repositories - for dimension in ("region", "variable", "model", "scenario") + for dimension in ("model", "scenario", "region", "variable") if getattr(self, dimension).repositories }