示例#1
0
 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
示例#2
0
 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
示例#3
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         "ui": InputAreasUi(config.next_file("ui.ini")),
         "optimization": InputAreasOptimization(
             config.next_file("optimization.ini")
         ),
     }
     return children
示例#4
0
    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
示例#5
0
 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
示例#6
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         "energy":
         InputHydroPreproAreaEnergy(config.next_file("energy.txt")),
         "prepro":
         InputHydroPreproAreaPrepro(config.next_file("prepro.ini")),
     }
     return children
示例#7
0
 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
示例#8
0
    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
示例#9
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         "data":
         InputThermalPreproAreaThermalData(config.next_file("data.txt")),
         "modulation":
         InputThermalPreproAreaThermalModulation(
             config.next_file("modulation.txt")),
     }
     return children
示例#10
0
    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
示例#11
0
    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
示例#12
0
    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
示例#13
0
 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
示例#14
0
 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
示例#15
0
 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
示例#16
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         area:
         OutputSimulationTsNumbersHydroArea(config.next_file(area + ".txt"))
         for area in config.area_names()
     }
     return children
示例#17
0
 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
示例#18
0
 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
示例#19
0
 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
示例#20
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         "series":
         InputThermalSeriesAreaThermalSeries(
             config.next_file("series.txt")),
     }
     return children
示例#21
0
 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
示例#22
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         area: OutputSimulationTsNumbersThermalArea(config.next_file(area),
                                                    area)
         for area in config.area_names()
     }
     return children
示例#23
0
 def build(self, config: StudyConfig) -> TREE:
     children: TREE = {
         "list": InputThermalClustersAreaList(
             config.next_file("list.ini"), self.area
         )
     }
     return children
示例#24
0
 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
示例#25
0
    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
示例#26
0
    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"
示例#28
0
 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
示例#29
0
    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
示例#30
0
 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