def build(self, config: StudyConfig) -> TREE: children: TREE = { "areas": OutputSimulationModeMcAllAreas(config.next_file("areas")), "grid": OutputSimulationModeMcAllGrid(config.next_file("grid")), "links": OutputSimulationModeMcAllLinks(config.next_file("links")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { a: InputAreasItem(config.next_file(a)) for a in config.area_names() } children["list"] = InputAreasList(config.next_file("list.txt")) children["sets"] = InputAreasSets(config.next_file("sets.ini")) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "ui": InputAreasUi(config.next_file("ui.ini")), "optimization": InputAreasOptimization( config.next_file("optimization.ini") ), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { a: Area(config.next_file(a), area=a) for a in config.area_names() } for s in config.set_names(): children[f"@ {s}"] = Set(config.next_file(f"@ {s}"), set=s) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { a: InputLoadPreproArea(config.next_file(a)) for a in config.area_names() } children["correlation"] = InputLoadPreproCorrelation( config.next_file("correlation.ini")) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "energy": InputHydroPreproAreaEnergy(config.next_file("energy.txt")), "prepro": InputHydroPreproAreaPrepro(config.next_file("prepro.ini")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "allocation": InputHydroAllocation(config.next_file("allocation")), "common": InputHydroCommon(config.next_file("common")), "prepro": InputHydroPrepro(config.next_file("prepro")), "series": InputHydroSeries(config.next_file("series")), "hydro": InputHydroIni(config.next_file("hydro.ini")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { l: InputLinkAreaLink(config.next_file(f"{l}.txt")) for l in config.get_links(self.area) } children["properties"] = InputLinkAreaProperties( config.next_file("properties.ini"), area=self.area) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "data": InputThermalPreproAreaThermalData(config.next_file("data.txt")), "modulation": InputThermalPreproAreaThermalModulation( config.next_file("modulation.txt")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { bind: BindingConstraintsItem(config.next_file(f"{bind}.txt")) for bind in config.bindings } children["bindingconstraints"] = BindingConstraintsIni( config.next_file("bindingconstraints.ini")) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = dict() for timing in config.get_filters_synthesis(self.set): children[f"id-{timing}"] = Id(config.next_file(f"id-{timing}.txt"), timing, self.set) children[f"values-{timing}"] = Values( config.next_file(f"values-{timing}.txt"), timing, self.set) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = {} if self.simulation.by_year: children["mc-ind"] = OutputSimulationModeMcInd( config.next_file("mc-ind"), self.simulation) if self.simulation.synthesis: children["mc-all"] = OutputSimulationModeMcAll( config.next_file("mc-all")) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "resources": Resources(config.next_file("resources")), "simulations": SettingsSimulations( config.next_file("simulations") ), "comments": Comments(config.next_file("comments.txt")), "generaldata": GeneralData(config.next_file("generaldata.ini")), "scenariobuilder": ScenarioBuilder( config.next_file("scenariobuilder.dat") ), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "hydro": OutputSimulationTsNumbersHydro(config.next_file("hydro")), "load": OutputSimulationTsNumbersLoad(config.next_file("load")), "solar": OutputSimulationTsNumbersSolar(config.next_file("solar")), "wind": OutputSimulationTsNumbersWind(config.next_file("wind")), "thermal": OutputSimulationTsNumbersThermal(config.next_file("thermal")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "areas": OutputSimulationModeMcAllGridAreas(config.next_file("areas.txt")), "digest": OutputSimulationModeMcAllGridDigest( config.next_file("digest.txt")), "links": OutputSimulationModeMcAllGridLinks(config.next_file("links.txt")), "thermal": OutputSimulationModeMcAllGridThermals( config.next_file("thermal.txt")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { area: OutputSimulationTsNumbersHydroArea(config.next_file(area + ".txt")) for area in config.area_names() } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { thermal: OutputSimulationTsNumbersThermalAreaThermal( config.next_file(thermal + ".txt")) for thermal in config.get_thermal_names(self.area) } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { str("{:05d}".format(scn)): OutputSimulationModeMcIndScn( config.next_file("{:05d}".format(scn))) for scn in range(1, self.simulation.nbyears + 1) } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { f"miscgen-{a}": InputMiscGenArea(config.next_file(f"miscgen-{a}.txt")) for a in config.area_names() } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "series": InputThermalSeriesAreaThermalSeries( config.next_file("series.txt")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { f"solar_{a}": InputSolarSeriesArea(config.next_file(f"solar_{a}.txt")) for a in config.area_names() } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { area: OutputSimulationTsNumbersThermalArea(config.next_file(area), area) for area in config.area_names() } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "list": InputThermalClustersAreaList( config.next_file("list.ini"), self.area ) } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "conversion": InputWindPreproAreaConversation( config.next_file("conversion.txt")), "data": InputWindPreproAreaData(config.next_file("data.txt")), "k": InputWindPreproAreaK(config.next_file("k.txt")), "translation": InputWindPreproAreaTranslation( config.next_file("translation.txt")), "settings": InputWindPreproAreaSettings(config.next_file("settings.ini")), } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = dict() for timing in config.get_filters_year(self.area): # detail files only exists when there is thermal cluster to be detailed if len(config.get_thermal_names(self.area, only_enabled=True)) > 0: children[f"details-{timing}"] = Details( config.next_file(f"details-{timing}.txt"), timing, self.area, ) children[f"values-{timing}"] = Values( config.next_file(f"values-{timing}.txt"), timing, self.area ) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = dict() filters = config.get_filters_synthesis(self.area) for timing in (filters if config.get_thermal_names( self.area, only_enabled=True) else []): children[f"details-{timing}"] = Details( config.next_file(f"details-{timing}.txt"), timing, self.area) for timing in filters: children[f"id-{timing}"] = Id(config.next_file(f"id-{timing}.txt"), timing, self.area) children[f"values-{timing}"] = Values( config.next_file(f"values-{timing}.txt"), timing, self.area) return children
def test_get(tmp_path: Path) -> None: (tmp_path / "my-study/a/b").mkdir(parents=True) (tmp_path / "my-study/a/b/c").touch() config = StudyConfig(study_path=tmp_path / "my-study", areas=dict(), outputs=dict()) config = config.next_file("a").next_file("b").next_file("c") node = RawFileNode(config=config) assert node.get() == "file/my-study/a/b/c"
def build(self, config: StudyConfig) -> TREE: children: TREE = { f"values-{timing}": Values( config.next_file(f"values-{timing}.txt"), timing, self.area, self.link, ) for timing in config.get_filters_year(self.area, self.link) } return children
def build(self, config: StudyConfig) -> TREE: children: TREE = { "Desktop": Desktop(config.next_file("Desktop.ini")), "study": StudyAntares(config.next_file("study.antares")), "settings": Settings(config.next_file("settings")), "layers": Layers(config.next_file("layers")), "logs": Logs(config.next_file("logs")), "input": Input(config.next_file("input")), "user": User(config.next_file("user")), } if config.outputs: children["output"] = Output(config.next_file("output")) return children
def build(self, config: StudyConfig) -> TREE: children: TREE = dict() for area in config.area_names(): for file in [ "creditmodulations", "inflowPattern", "maxpower", "reservoir", "waterValues", ]: name = f"{file}_{area}" children[name] = InputHydroCommonCapacityItem( config.next_file(f"{name}.txt")) return children