From a3fe4bd72c280c722a696b42acdba4a4efbd84f8 Mon Sep 17 00:00:00 2001 From: Prisca van der Sluis Date: Tue, 27 Sep 2022 15:26:36 +0200 Subject: [PATCH] #226: Update generated models --- .../core/io/rtc/rtcDataConfig/generated/_.py | 6 +- .../rtc/rtcDataConfig/generated/__init__.py | 55 +- .../core/io/rtc/rtcToolsConfig/generated/_.py | 12 +- .../_/_/ExternalParameterSimpleType.py | 21 + .../generated/_/_/TimeSeriesSimpleType.py | 247 + .../rtcToolsConfig/generated/_/_/__init__.py | 2 +- .../_/_/rtc_ExternalParameterSimpleType.py | 22 - .../generated/_/_/rtc_TimeSeriesSimpleType.py | 250 -- .../rtcToolsConfig/generated/_/_/xs_string.py | 15 +- .../rtc/rtcToolsConfig/generated/__init__.py | 3999 +++++++---------- 10 files changed, 1961 insertions(+), 2668 deletions(-) create mode 100644 hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/ExternalParameterSimpleType.py create mode 100644 hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/TimeSeriesSimpleType.py delete mode 100644 hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_ExternalParameterSimpleType.py delete mode 100644 hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_TimeSeriesSimpleType.py diff --git a/hydrolib/core/io/rtc/rtcDataConfig/generated/_.py b/hydrolib/core/io/rtc/rtcDataConfig/generated/_.py index 034a8cc6d..9392b4688 100644 --- a/hydrolib/core/io/rtc/rtcDataConfig/generated/_.py +++ b/hydrolib/core/io/rtc/rtcDataConfig/generated/_.py @@ -1,15 +1,15 @@ # generated by datamodel-codegen: # filename: rtcDataConfig.json -# timestamp: 2022-09-27T13:10:33+00:00 +# timestamp: 2022-09-27T13:22:03+00:00 from __future__ import annotations -from pydantic import BaseModel +from hydrolib.core.io.rtc.basemodel import RtcBaseModel from . import RtcDataConfigComplexType -class RtcDataConfig(BaseModel): +class RtcDataConfig(RtcBaseModel): class Config: allow_population_by_field_name = True diff --git a/hydrolib/core/io/rtc/rtcDataConfig/generated/__init__.py b/hydrolib/core/io/rtc/rtcDataConfig/generated/__init__.py index 2404e622d..2c717e25d 100644 --- a/hydrolib/core/io/rtc/rtcDataConfig/generated/__init__.py +++ b/hydrolib/core/io/rtc/rtcDataConfig/generated/__init__.py @@ -1,13 +1,14 @@ # generated by datamodel-codegen: # filename: rtcDataConfig.json -# timestamp: 2022-09-27T13:10:33+00:00 +# timestamp: 2022-09-27T13:22:03+00:00 from __future__ import annotations from enum import Enum from typing import Any, List, Optional, Union -from pydantic import BaseModel, Extra, Field +from hydrolib.core.io.rtc.basemodel import RtcBaseModel +from pydantic import Extra, Field from . import _ @@ -23,42 +24,42 @@ class EnsembleModeEnumStringType(str, Enum): INDEPENDENT = 'INDEPENDENT' -class ExternalBooleanSimpleTypeItem(BaseModel): +class ExternalBooleanSimpleTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\$][\\(-_a-z]+[\\$])$') -class ExternalBooleanSimpleType(BaseModel): +class ExternalBooleanSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: Union[bool, ExternalBooleanSimpleTypeItem] -class ExternalIntegerSimpleTypeItem(BaseModel): +class ExternalIntegerSimpleTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\$][\\(-_a-z]+[\\$])$') -class ExternalIntegerSimpleType(BaseModel): +class ExternalIntegerSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: Union[int, ExternalIntegerSimpleTypeItem] -class ExternalParameterSimpleTypeItem(BaseModel): +class ExternalParameterSimpleTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([#-\\$][\\(-_a-z]+[#-\\$])$') -class ExternalParameterSimpleType(BaseModel): +class ExternalParameterSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True @@ -92,14 +93,14 @@ class SeparatorEnumStringType(str, Enum): __2 = ';' -class TimeSeriesSimpleType(BaseModel): +class TimeSeriesSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., min_length=1) -class TimeZoneSimpleType(BaseModel): +class TimeZoneSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True @@ -123,7 +124,7 @@ class VariableTypeEnumStringType(str, Enum): TIMEINSTANCE = 'TIMEINSTANCE' -class DateType(BaseModel): +class DateType(RtcBaseModel): class Config: allow_population_by_field_name = True @@ -152,35 +153,35 @@ class TimeStepUnitEnumStringType(str, Enum): week = 'week' -class TimeType(BaseModel): +class TimeType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\d][\\d]\\:[\\d][\\d]\\:[\\d][\\d])$') -class XsBoolean(BaseModel): +class XsBoolean(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: bool -class XsPositiveInteger(BaseModel): +class XsPositiveInteger(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: int = Field(..., ge=1) -class XsString(BaseModel): +class XsString(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str -class CSVTimeSeriesFileComplexType(BaseModel): +class CSVTimeSeriesFileComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -190,7 +191,7 @@ class Config: attr_delimiter: Optional[SeparatorEnumStringType] = None -class DateTimeComplexType(BaseModel): +class DateTimeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -199,7 +200,7 @@ class Config: attr_time: TimeType -class OpenMIExchangeItemComplexType(BaseModel): +class OpenMIExchangeItemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -213,7 +214,7 @@ class Config: unit: UnitEnumStringType = Field(..., description='Selection of supported units') -class PITimeSeriesExportFileComplexType(BaseModel): +class PITimeSeriesExportFileComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -228,7 +229,7 @@ class Config: ) -class PITimeSeriesImportFileComplexType(BaseModel): +class PITimeSeriesImportFileComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -242,7 +243,7 @@ class Config: ) -class TimeStepComplexType(BaseModel): +class TimeStepComplexType(RtcBaseModel): """ The timeunit element has three attributes, unit and devider and multiplier. the unit is second, minute, hour, week, month year. @@ -258,7 +259,7 @@ class Config: attr_unit: TimeStepUnitEnumStringType -class PITimeSeriesComplexType(BaseModel): +class PITimeSeriesComplexType(RtcBaseModel): """ The header is used to specify the link to the location and the contents @@ -291,7 +292,7 @@ class Config: ) -class RtcTimeSeriesComplexType(BaseModel): +class RtcTimeSeriesComplexType(RtcBaseModel): """ The header is used to specify the link to the location and the contents @@ -314,7 +315,7 @@ class Config: ) -class RtcSeriesExportComplexType(BaseModel): +class RtcSeriesExportComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -327,7 +328,7 @@ class Config: timeSeries: List[RtcTimeSeriesComplexType] = Field(..., min_items=1) -class RtcSeriesImportComplexType(BaseModel): +class RtcSeriesImportComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -336,7 +337,7 @@ class Config: timeSeries: List[RtcTimeSeriesComplexType] = Field(..., min_items=1) -class RtcDataConfigComplexType(BaseModel): +class RtcDataConfigComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True @@ -351,7 +352,7 @@ class Config: ) -class Model(BaseModel): +class Model(RtcBaseModel): """ JSON Schema generated by XMLSpy v2019 rel. 3 sp1 (x64) (http://www.altova.com) """ diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_.py index bf086dd39..ca864ccdf 100644 --- a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_.py +++ b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_.py @@ -1,19 +1,19 @@ # generated by datamodel-codegen: # filename: rtcToolsConfig.json -# timestamp: 2022-09-27T13:06:58+00:00 +# timestamp: 2022-09-27T13:24:09+00:00 from __future__ import annotations -from pydantic import BaseModel +from hydrolib.core.io.rtc.basemodel import RtcBaseModel -from . import RtcRtcToolsConfigComplexType +from . import RtcToolsConfigComplexType -class RtcRtcToolsConfig(BaseModel): +class RtcToolsConfig(RtcBaseModel): class Config: allow_population_by_field_name = True - __root__: RtcRtcToolsConfigComplexType + __root__: RtcToolsConfigComplexType -RtcRtcToolsConfig.update_forward_refs() +RtcToolsConfig.update_forward_refs() diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/ExternalParameterSimpleType.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/ExternalParameterSimpleType.py new file mode 100644 index 000000000..ec5e4fea8 --- /dev/null +++ b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/ExternalParameterSimpleType.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: rtcToolsConfig.json +# timestamp: 2022-09-27T13:24:09+00:00 + +from __future__ import annotations + +from typing import Optional + +from hydrolib.core.io.rtc.basemodel import RtcBaseModel +from pydantic import Extra, Field + +from ... import ExternalParameterSimpleType, XsBoolean + + +class Field1(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[ExternalParameterSimpleType] = Field(None, alias='$') + attr_useAbsoluteAsSpillCap: Optional[XsBoolean] = None diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/TimeSeriesSimpleType.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/TimeSeriesSimpleType.py new file mode 100644 index 000000000..0ccd04677 --- /dev/null +++ b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/TimeSeriesSimpleType.py @@ -0,0 +1,247 @@ +# generated by datamodel-codegen: +# filename: rtcToolsConfig.json +# timestamp: 2022-09-27T13:24:09+00:00 + +from __future__ import annotations + +from typing import Optional + +from hydrolib.core.io.rtc.basemodel import RtcBaseModel +from pydantic import Extra, Field + +from ... import ( + InputReferenceEnumStringType, + TimeSeriesSimpleType, + XsBoolean, + XsDouble, + XsString, +) + + +class Field1(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_id: XsString + attr_selectingColumnId: Optional[XsString] = None + + +class Field10(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field11(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field12(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field13(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field14(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field15(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field16(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field17(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_factor: Optional[XsDouble] = None + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field18(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_nStepSeries: Optional[TimeSeriesSimpleType] = None + attr_nStepSeriesStart: Optional[TimeSeriesSimpleType] = None + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field19(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_factor: Optional[XsDouble] = None + + +class Field2(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field20(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field21(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field22(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field23(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field24(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field25(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field3(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field4(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field5(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None + + +class Field6(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_factor: Optional[XsDouble] = None + + +class Field7(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_useAbsoluteAsSpillCap: Optional[XsBoolean] = None + + +class Field8(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_factor: Optional[XsDouble] = None + + +class Field9(RtcBaseModel): + class Config: + extra = Extra.forbid + allow_population_by_field_name = True + + _: Optional[TimeSeriesSimpleType] = Field(None, alias='$') + attr_ref: Optional[InputReferenceEnumStringType] = None diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/__init__.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/__init__.py index 572842aa2..637f69e04 100644 --- a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/__init__.py +++ b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/__init__.py @@ -1,3 +1,3 @@ # generated by datamodel-codegen: # filename: rtcToolsConfig.json -# timestamp: 2022-09-27T13:06:58+00:00 +# timestamp: 2022-09-27T13:24:09+00:00 diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_ExternalParameterSimpleType.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_ExternalParameterSimpleType.py deleted file mode 100644 index 34a93bcac..000000000 --- a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_ExternalParameterSimpleType.py +++ /dev/null @@ -1,22 +0,0 @@ -# generated by datamodel-codegen: -# filename: rtcToolsConfig.json -# timestamp: 2022-09-27T13:06:58+00:00 - -from __future__ import annotations - -from typing import Optional - -from pydantic import BaseModel, Extra, Field - -from ... import RtcExternalParameterSimpleType, XsBoolean - - -class Field1(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcExternalParameterSimpleType] = Field(None, alias='$') - _useAbsoluteAsSpillCap: Optional[XsBoolean] = Field( - None, alias='@useAbsoluteAsSpillCap' - ) diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_TimeSeriesSimpleType.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_TimeSeriesSimpleType.py deleted file mode 100644 index e3b4a3e4a..000000000 --- a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/rtc_TimeSeriesSimpleType.py +++ /dev/null @@ -1,250 +0,0 @@ -# generated by datamodel-codegen: -# filename: rtcToolsConfig.json -# timestamp: 2022-09-27T13:06:58+00:00 - -from __future__ import annotations - -from typing import Optional - -from pydantic import BaseModel, Extra, Field - -from ... import ( - RtcInputReferenceEnumStringType, - RtcTimeSeriesSimpleType, - XsBoolean, - XsDouble, - XsString, -) - - -class Field1(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _id: XsString = Field(..., alias='@id') - _selectingColumnId: Optional[XsString] = Field(None, alias='@selectingColumnId') - - -class Field10(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field11(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field12(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field13(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field14(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field15(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field16(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field17(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _factor: Optional[XsDouble] = Field(None, alias='@factor') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field18(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _nStepSeries: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='@nStepSeries') - _nStepSeriesStart: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='@nStepSeriesStart' - ) - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field19(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _factor: Optional[XsDouble] = Field(None, alias='@factor') - - -class Field2(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field20(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field21(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field22(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field23(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field24(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field25(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field3(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field4(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field5(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') - - -class Field6(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _factor: Optional[XsDouble] = Field(None, alias='@factor') - - -class Field7(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _useAbsoluteAsSpillCap: Optional[XsBoolean] = Field( - None, alias='@useAbsoluteAsSpillCap' - ) - - -class Field8(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _factor: Optional[XsDouble] = Field(None, alias='@factor') - - -class Field9(BaseModel): - class Config: - extra = Extra.forbid - allow_population_by_field_name = True - - _: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='$') - _ref: Optional[RtcInputReferenceEnumStringType] = Field(None, alias='@ref') diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/xs_string.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/xs_string.py index 59f10b3e8..4b7cf547e 100644 --- a/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/xs_string.py +++ b/hydrolib/core/io/rtc/rtcToolsConfig/generated/_/_/xs_string.py @@ -1,29 +1,30 @@ # generated by datamodel-codegen: # filename: rtcToolsConfig.json -# timestamp: 2022-09-27T13:06:58+00:00 +# timestamp: 2022-09-27T13:24:09+00:00 from __future__ import annotations from typing import Optional -from pydantic import BaseModel, Extra, Field +from hydrolib.core.io.rtc.basemodel import RtcBaseModel +from pydantic import Extra, Field -from ... import RtcExternalParameterSimpleType, XsString +from ... import ExternalParameterSimpleType, XsString -class Field1(BaseModel): +class Field1(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True _: Optional[XsString] = Field(None, alias='$') - _weight: RtcExternalParameterSimpleType = Field(..., alias='@weight') + attr_weight: ExternalParameterSimpleType -class Field2(BaseModel): +class Field2(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True _: Optional[XsString] = Field(None, alias='$') - _weight: RtcExternalParameterSimpleType = Field(..., alias='@weight') + attr_weight: ExternalParameterSimpleType diff --git a/hydrolib/core/io/rtc/rtcToolsConfig/generated/__init__.py b/hydrolib/core/io/rtc/rtcToolsConfig/generated/__init__.py index 5d9c82a69..6e2a5cdc2 100644 --- a/hydrolib/core/io/rtc/rtcToolsConfig/generated/__init__.py +++ b/hydrolib/core/io/rtc/rtcToolsConfig/generated/__init__.py @@ -1,30 +1,31 @@ # generated by datamodel-codegen: # filename: rtcToolsConfig.json -# timestamp: 2022-09-27T13:06:58+00:00 +# timestamp: 2022-09-27T13:24:09+00:00 from __future__ import annotations from enum import Enum from typing import Any, List, Optional, Union -from pydantic import BaseModel, Extra, Field +from hydrolib.core.io.rtc.basemodel import RtcBaseModel +from pydantic import Extra, Field from . import _ -from ._._ import rtc_ExternalParameterSimpleType, rtc_TimeSeriesSimpleType, xs_string +from ._._ import ExternalParameterSimpleType, TimeSeriesSimpleType, xs_string -class RtcAggregationTypeEnumStringType(str, Enum): +class AggregationTypeEnumStringType(str, Enum): BLOCK = 'BLOCK' LINEAR = 'LINEAR' -class RtcBranchTypeEnumStringType(str, Enum): +class BranchTypeEnumStringType(str, Enum): KINEMATIC = 'KINEMATIC' DIFFUSIVE = 'DIFFUSIVE' DIFFUSIVEPLUSLOCAL = 'DIFFUSIVEPLUSLOCAL' -class RtcCapacityReferenceEnumStringType(str, Enum): +class CapacityReferenceEnumStringType(str, Enum): """ reference for capacity """ @@ -33,7 +34,7 @@ class RtcCapacityReferenceEnumStringType(str, Enum): HEAD = 'HEAD' -class _MonthOfYear(str, Enum): +class AttrMonthOfYear(str, Enum): January = 'January' February = 'February' March = 'March' @@ -48,212 +49,195 @@ class _MonthOfYear(str, Enum): December = 'December' -class RtcEnsembleModeEnumStringType(str, Enum): +class EnsembleModeEnumStringType(str, Enum): JOINT = 'JOINT' TREE = 'TREE' INDEPENDENT = 'INDEPENDENT' -class RtcEquationEnumStringType(str, Enum): +class EquationEnumStringType(str, Enum): KINEMATIC = 'KINEMATIC' DIFFUSIVE = 'DIFFUSIVE' INERTIAL = 'INERTIAL' -class RtcExternalBooleanSimpleTypeItem(BaseModel): +class ExternalBooleanSimpleTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\$][\\(-_a-z]+[\\$])$') -class RtcExternalBooleanSimpleType(BaseModel): +class ExternalBooleanSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True - __root__: Union[bool, RtcExternalBooleanSimpleTypeItem] + __root__: Union[bool, ExternalBooleanSimpleTypeItem] -class RtcExternalIntegerSimpleTypeItem(BaseModel): +class ExternalIntegerSimpleTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\$][\\(-_a-z]+[\\$])$') -class RtcExternalIntegerSimpleType(BaseModel): +class ExternalIntegerSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True - __root__: Union[int, RtcExternalIntegerSimpleTypeItem] + __root__: Union[int, ExternalIntegerSimpleTypeItem] -class RtcExternalParameterSimpleTypeItem(BaseModel): +class ExternalParameterSimpleTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([#-\\$][\\(-_a-z]+[#-\\$])$') -class RtcExternalParameterSimpleType(BaseModel): +class ExternalParameterSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True - __root__: Union[float, RtcExternalParameterSimpleTypeItem] + __root__: Union[float, ExternalParameterSimpleTypeItem] -class RtcHBVParameterInputComplexType(BaseModel): +class HBVParameterInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_ECORR: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:ECORR', description='correction factor for EP' + ECORR: Optional[ExternalParameterSimpleType] = Field( + None, description='correction factor for EP' ) - rtc_RFCF: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:RFCF', description='correction factor for rainfall' + RFCF: Optional[ExternalParameterSimpleType] = Field( + None, description='correction factor for rainfall' ) - rtc_SFCF: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:SFCF', description='correction factor for snow' + SFCF: Optional[ExternalParameterSimpleType] = Field( + None, description='correction factor for snow' ) - rtc_TT: RtcExternalParameterSimpleType = Field( - ..., - alias='rtc:TT', - description='temperature limit for snow / rain [oC], normally close to 0 ', + TT: ExternalParameterSimpleType = Field( + ..., description='temperature limit for snow / rain [oC], normally close to 0 ' ) - rtc_TTI: RtcExternalParameterSimpleType = Field( - ..., - alias='rtc:TTI', - description='temperature interval with a mixture of snow / rain [oC]', + TTI: ExternalParameterSimpleType = Field( + ..., description='temperature interval with a mixture of snow / rain [oC]' ) -class RtcHBVParameterInterceptionComplexType(BaseModel): +class HBVParameterInterceptionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_LIC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:LIC', description='maximum interception storage' + LIC: ExternalParameterSimpleType = Field( + ..., description='maximum interception storage' ) -class RtcHBVParameterResponseComplexType(BaseModel): +class HBVParameterResponseComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_ALPHA: RtcExternalParameterSimpleType = Field( - ..., - alias='rtc:ALPHA', - description='response box parameter [-], usually between 1.0 and 2.0', - ) - rtc_AREA: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:AREA', description='catchment area [km2]' - ) - rtc_K: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:K', description='recession coefficient' + ALPHA: ExternalParameterSimpleType = Field( + ..., description='response box parameter [-], usually between 1.0 and 2.0' ) - rtc_K1: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:K1', description='recession coefficient [1/day]' + AREA: ExternalParameterSimpleType = Field(..., description='catchment area [km2]') + K: ExternalParameterSimpleType = Field(..., description='recession coefficient') + K1: ExternalParameterSimpleType = Field( + ..., description='recession coefficient [1/day]' ) - rtc_PERC: RtcExternalParameterSimpleType = Field( + PERC: ExternalParameterSimpleType = Field( ..., - alias='rtc:PERC', description='percolation from upper to lower response box [mm/day], usually between 0 and 6', ) -class RtcHBVParameterSnowComplexType(BaseModel): +class HBVParameterSnowComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_CFMAX: RtcExternalParameterSimpleType = Field( + CFMAX: ExternalParameterSimpleType = Field( ..., - alias='rtc:CFMAX', description='degree day factor [mm/(oC*day)], varies normally between 1.5 and 4, 2 and 3.5 can be used in forested and open\nlandscape respectively', ) - rtc_CFR: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:CFR', description='refreezing factor [-], about 0.05' + CFR: ExternalParameterSimpleType = Field( + ..., description='refreezing factor [-], about 0.05' ) - rtc_CWH: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:CWH', description='water holding capacity [-], usually 0.1' + CWH: ExternalParameterSimpleType = Field( + ..., description='water holding capacity [-], usually 0.1' ) - rtc_TTM: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:TTM', description='temperature limit for melting [oC]' + TTM: ExternalParameterSimpleType = Field( + ..., description='temperature limit for melting [oC]' ) -class RtcHBVParameterSoilComplexType(BaseModel): +class HBVParameterSoilComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_BETA: RtcExternalParameterSimpleType = Field( - ..., - alias='rtc:BETA', - description='parameter in soil routine [-], usually between 1 and 6', - ) - rtc_CFLUX: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:CFLUX', description='maximum value of CF' + BETA: ExternalParameterSimpleType = Field( + ..., description='parameter in soil routine [-], usually between 1 and 6' ) - rtc_ETF: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:ETF', description='temperature correction factor' + CFLUX: ExternalParameterSimpleType = Field(..., description='maximum value of CF') + ETF: ExternalParameterSimpleType = Field( + ..., description='temperature correction factor' ) - rtc_FC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:FC', description='field capacity [mm], between 50 and 500' + FC: ExternalParameterSimpleType = Field( + ..., description='field capacity [mm], between 50 and 500' ) - rtc_LP: RtcExternalParameterSimpleType = Field( + LP: ExternalParameterSimpleType = Field( ..., - alias='rtc:LP', description='limit for potential evapotranspiration [-], in the range between 0.3 and 1', ) -class RtcHydraulicModelModeEnumStringType(str, Enum): +class HydraulicModelModeEnumStringType(str, Enum): SEQUENTIAL_EXPLICIT = 'SEQUENTIAL_EXPLICIT' SEQUENTIAL_IMPLICIT = 'SEQUENTIAL_IMPLICIT' SIMULTANEOUS = 'SIMULTANEOUS' -class RtcLayerIDSimpleType(BaseModel): +class LayerIDSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([L][0-9]+)$') -class RtcPropertyEnum(str, Enum): +class PropertyEnum(str, Enum): MONOTON = 'MONOTON' POSITIVE = 'POSITIVE' -class RtcLorentGeversParameterResponseComplexType(BaseModel): +class LorentGeversParameterResponseComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: RtcExternalParameterSimpleType = Field(..., alias='rtc:AREA') - rtc_KB: RtcExternalParameterSimpleType = Field(..., alias='rtc:KB') - rtc_KS: RtcExternalParameterSimpleType = Field(..., alias='rtc:KS') - rtc_TB1: RtcExternalParameterSimpleType = Field(..., alias='rtc:TB1') - rtc_TB2: RtcExternalParameterSimpleType = Field(..., alias='rtc:TB2') - rtc_TS1: RtcExternalParameterSimpleType = Field(..., alias='rtc:TS1') - rtc_TS2: RtcExternalParameterSimpleType = Field(..., alias='rtc:TS2') + AREA: ExternalParameterSimpleType + KB: ExternalParameterSimpleType + KS: ExternalParameterSimpleType + TB1: ExternalParameterSimpleType + TB2: ExternalParameterSimpleType + TS1: ExternalParameterSimpleType + TS2: ExternalParameterSimpleType -class RtcLorentGeversParameterSoilComplexType(BaseModel): +class LorentGeversParameterSoilComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_BETA: RtcExternalParameterSimpleType = Field(..., alias='rtc:BETA') - rtc_PMAX: RtcExternalParameterSimpleType = Field(..., alias='rtc:PMAX') - rtc_SMAX: RtcExternalParameterSimpleType = Field(..., alias='rtc:SMAX') + BETA: ExternalParameterSimpleType + PMAX: ExternalParameterSimpleType + SMAX: ExternalParameterSimpleType -class RtcMathematicalOperatorEnumStringType(str, Enum): +class MathematicalOperatorEnumStringType(str, Enum): """ mathematical operators """ @@ -267,309 +251,263 @@ class RtcMathematicalOperatorEnumStringType(str, Enum): __4 = '^' -class RtcMergerSplitterEnumStringType(str, Enum): +class MergerSplitterEnumStringType(str, Enum): AVERAGE = 'AVERAGE' DATAHIERARCHY = 'DATAHIERARCHY' SUM = 'SUM' -class RtcNeuronIDSimpleType(BaseModel): +class NeuronIDSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([L][0-9]+[N][0-9]+)$') -class RtcParameterCapillaryFlowStorageSystemComplexType(BaseModel): +class ParameterCapillaryFlowStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' - ) - rtc_CFLUX: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:CFLUX', description='maximum value of capillary flow [mm/d]' - ) - rtc_FC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:FC', description='field capacity [mm]' + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + CFLUX: ExternalParameterSimpleType = Field( + ..., description='maximum value of capillary flow [mm/d]' ) + FC: ExternalParameterSimpleType = Field(..., description='field capacity [mm]') -class RtcParameterEvaporationActualStorageSystemComplexType(BaseModel): +class ParameterEvaporationActualStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [1000 m2], default = 1.0' + AREA: Optional[ExternalParameterSimpleType] = Field( + None, description='area [1000 m2], default = 1.0' ) - rtc_D: Optional[RtcExternalParameterSimpleType] = Field( - None, - alias='rtc:D', - description='distance measure for smoothing the transitions [-]', + D: Optional[ExternalParameterSimpleType] = Field( + None, description='distance measure for smoothing the transitions [-]' ) - rtc_FC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:FC', description='field capacity [mm]' - ) - rtc_LP: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:LP', description='limit for potential evaporation [-]' + FC: ExternalParameterSimpleType = Field(..., description='field capacity [mm]') + LP: ExternalParameterSimpleType = Field( + ..., description='limit for potential evaporation [-]' ) -class RtcParameterEvaporationInterceptionStorageSystemComplexType(BaseModel): +class ParameterEvaporationInterceptionStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' - ) + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') -class RtcParameterEvaporationPotentialComplexType(BaseModel): +class ParameterEvaporationPotentialComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_ECORR: Optional[RtcExternalParameterSimpleType] = Field( - None, - alias='rtc:ECORR', - description='evaporation correction factor, default = 1.0', + ECORR: Optional[ExternalParameterSimpleType] = Field( + None, description='evaporation correction factor, default = 1.0' ) - rtc_ETF: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:ETF', description='temperature correction factor' + ETF: ExternalParameterSimpleType = Field( + ..., description='temperature correction factor' ) -class RtcParameterIrrigationStorageSystemComplexType(BaseModel): +class ParameterIrrigationStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2], default = 1.0' + AREA: Optional[ExternalParameterSimpleType] = Field( + None, description='area [km2], default = 1.0' ) - rtc_IRR_CONST: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:IRR_CONST', description='costant irrigation flux [mm/d]' + IRR_CONST: Optional[ExternalParameterSimpleType] = Field( + None, description='costant irrigation flux [mm/d]' ) - rtc_IRR_THR: RtcExternalParameterSimpleType = Field( + IRR_THR: ExternalParameterSimpleType = Field( ..., - alias='rtc:IRR_THR', description='Threshold of the downstream node under which irrigation is needed [mm]', ) - rtc_M: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:M', description='smoothing factor' + M: Optional[ExternalParameterSimpleType] = Field( + None, description='smoothing factor' ) -class RtcParameterMeltRefreezingStorageSystemComplexType(BaseModel): +class ParameterMeltRefreezingStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' - ) - rtc_CFMAX: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:CFMAX', description='degree day factor [mm/day]' - ) - rtc_CFR: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:CFR', description='refreezing factor [-]' + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + CFMAX: ExternalParameterSimpleType = Field( + ..., description='degree day factor [mm/day]' ) - rtc_M: Optional[RtcExternalParameterSimpleType] = Field( + CFR: ExternalParameterSimpleType = Field(..., description='refreezing factor [-]') + M: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:M', description='smoothing factor, default = 0.05, more smoothing for higher value and vice versa', ) - rtc_TTM: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:TTM', description='temperature limit for melting [oC]' + TTM: ExternalParameterSimpleType = Field( + ..., description='temperature limit for melting [oC]' ) -class RtcParameterPercolationStorageSystemComplexType(BaseModel): +class ParameterPercolationStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' - ) - rtc_PERC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:PERC', description='percolation [mm/d]' - ) + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + PERC: ExternalParameterSimpleType = Field(..., description='percolation [mm/d]') -class RtcParameterReleaseAboveThresholdStorageSystemComplexType(BaseModel): +class ParameterReleaseAboveThresholdStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2], default = 1.0' + AREA: Optional[ExternalParameterSimpleType] = Field( + None, description='area [km2], default = 1.0' ) - rtc_FRAC: Optional[RtcExternalParameterSimpleType] = Field( + FRAC: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:FRAC', description='percentage of the flow which flows towards the bucket of interest. The permitted range is between 0 and 100', ) - rtc_LIC: RtcExternalParameterSimpleType = Field( - ..., - alias='rtc:LIC', - description='upper limit of (interception) storage node [mm]', + LIC: ExternalParameterSimpleType = Field( + ..., description='upper limit of (interception) storage node [mm]' ) - rtc_M: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:M', description='smoothing factor' + M: Optional[ExternalParameterSimpleType] = Field( + None, description='smoothing factor' ) -class RtcParameterReleaseTotalComplexType(BaseModel): +class ParameterReleaseTotalComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:AREA', description='area [km2]' - ) + AREA: ExternalParameterSimpleType = Field(..., description='area [km2]') -class RtcParameterReleaseWaterContentStorageSystemComplexType(BaseModel): +class ParameterReleaseWaterContentStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + M: Optional[ExternalParameterSimpleType] = Field( + None, description='smoothing coefficient' ) - rtc_M: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:M', description='smoothing coefficient' - ) - rtc_WHC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:WHC', description='water holding capacity [-]' + WHC: ExternalParameterSimpleType = Field( + ..., description='water holding capacity [-]' ) -class RtcParameterResponseStorageSystemComplexType(BaseModel): +class ParameterResponseStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_ALPHA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:ALPHA', description='response box parameter [-], default = 0.0' - ) - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' + ALPHA: Optional[ExternalParameterSimpleType] = Field( + None, description='response box parameter [-], default = 0.0' ) - rtc_K: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:K', description='recession coefficient [1/d]' + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + K: ExternalParameterSimpleType = Field( + ..., description='recession coefficient [1/d]' ) -class RtcParameterSnowRainJunctionComplexType(BaseModel): +class ParameterSnowRainJunctionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_D: Optional[RtcExternalParameterSimpleType] = Field( + D: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:D', description='smoothing parameter for switching between a linear ramp (D=0.0) and a sigmoid function (D=1.0)', ) - rtc_RFCF: Optional[RtcExternalParameterSimpleType] = Field( - None, - alias='rtc:RFCF', - description='rainfall correction factor [-], default is 1.0', + RFCF: Optional[ExternalParameterSimpleType] = Field( + None, description='rainfall correction factor [-], default is 1.0' ) - rtc_SFCF: Optional[RtcExternalParameterSimpleType] = Field( - None, - alias='rtc:SFCF', - description='snowfall correction factor [-], default is 1.0', + SFCF: Optional[ExternalParameterSimpleType] = Field( + None, description='snowfall correction factor [-], default is 1.0' ) - rtc_TT: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:TT', description='temperature limit for snow and rainfall [oC]' + TT: ExternalParameterSimpleType = Field( + ..., description='temperature limit for snow and rainfall [oC]' ) - rtc_TTI: RtcExternalParameterSimpleType = Field( - ..., - alias='rtc:TTI', - description='temperature interval with a mixture of snow and rainfall [K]', + TTI: ExternalParameterSimpleType = Field( + ..., description='temperature interval with a mixture of snow and rainfall [K]' ) -class RtcParameterSoilRunoffStorageSystemComplexType(BaseModel): +class ParameterSoilRunoffStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' - ) - rtc_BETA: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:BETA', description='parameter in soil routine [-]' - ) - rtc_FC: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:FC', description='field capacity [mm]' + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + BETA: ExternalParameterSimpleType = Field( + ..., description='parameter in soil routine [-]' ) + FC: ExternalParameterSimpleType = Field(..., description='field capacity [mm]') -class RtcParameterWaterDistributionConstantStorageSystemComplexType(BaseModel): +class ParameterWaterDistributionConstantStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2], default = 1.0' + AREA: Optional[ExternalParameterSimpleType] = Field( + None, description='area [km2], default = 1.0' ) - rtc_D: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:D', description='capacity of demand/abstraction [m3/s]' + D: ExternalParameterSimpleType = Field( + ..., description='capacity of demand/abstraction [m3/s]' ) - rtc_M: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:M', description='smoothing factor' + M: Optional[ExternalParameterSimpleType] = Field( + None, description='smoothing factor' ) - rtc_MIN_UP: Optional[RtcExternalParameterSimpleType] = Field( + MIN_UP: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:MIN_UP', description='minimum abstraction level upstream [mm]. Default 0, till empty.', ) -class RtcParameterWaterDistributionVariableStorageSystemComplexType(BaseModel): +class ParameterWaterDistributionVariableStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2], default = 1.0' + AREA: Optional[ExternalParameterSimpleType] = Field( + None, description='area [km2], default = 1.0' ) - rtc_M: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:M', description='smoothing factor' + M: Optional[ExternalParameterSimpleType] = Field( + None, description='smoothing factor' ) - rtc_MIN_UP: Optional[RtcExternalParameterSimpleType] = Field( + MIN_UP: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:MIN_UP', description='minimum abstraction level upstream [mm]. Default 0, till empty.', ) -class RtcParametergroundwaterFlowStorageSystemComplexType(BaseModel): +class ParametergroundwaterFlowStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_ALPHA: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:ALPHA', description='Ground water reaction coefficient' + ALPHA: ExternalParameterSimpleType = Field( + ..., description='Ground water reaction coefficient' ) - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='area [km2]' + AREA: Optional[ExternalParameterSimpleType] = Field(None, description='area [km2]') + K: ExternalParameterSimpleType = Field( + ..., description='Ground water Conductivity [1/d]' ) - rtc_K: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:K', description='Ground water Conductivity [1/d]' - ) - rtc_MAX_GFLOW: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:MAX_GFLOW', description='Maximum groundwater flow [mm/d]' + MAX_GFLOW: ExternalParameterSimpleType = Field( + ..., description='Maximum groundwater flow [mm/d]' ) -class RtcMode(str, Enum): +class Mode(str, Enum): """ pid mode, either "NATIVE" or "SOBEK2" or "PIDPOS" or PIDVEL" """ @@ -580,26 +518,22 @@ class RtcMode(str, Enum): PIDVEL = 'PIDVEL' -class RtcSRMParameterComplexType(BaseModel): +class SRMParameterComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_Pt: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:Pt', description='precipitation threshold [mm]' - ) - rtc_TLag: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:TLag', description='Time lag of input data [h]' + Pt: ExternalParameterSimpleType = Field( + ..., description='precipitation threshold [mm]' ) - rtc_x: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:x', description='recession coefficient 1' - ) - rtc_y: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:y', description='recession coefficient 2' + TLag: ExternalParameterSimpleType = Field( + ..., description='Time lag of input data [h]' ) + x: ExternalParameterSimpleType = Field(..., description='recession coefficient 1') + y: ExternalParameterSimpleType = Field(..., description='recession coefficient 2') -class RtcSpatialEnumStringType(str, Enum): +class SpatialEnumStringType(str, Enum): """ options for spatial schetization """ @@ -608,7 +542,7 @@ class RtcSpatialEnumStringType(str, Enum): UPWIND = 'UPWIND' -class RtcMode1(str, Enum): +class Mode1(str, Enum): """ timeRelative mode, either "NATIVE" or "RETAINVALUEWHENINACTIVE" """ @@ -617,14 +551,14 @@ class RtcMode1(str, Enum): RETAINVALUEWHENINACTIVE = 'RETAINVALUEWHENINACTIVE' -class RtcTimeSeriesSimpleType(BaseModel): +class TimeSeriesSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., min_length=1) -class RtcTimeZoneSimpleType(BaseModel): +class TimeZoneSimpleType(RtcBaseModel): class Config: allow_population_by_field_name = True @@ -634,145 +568,131 @@ class Config: ) -class RtcTriggerInputComplexType(BaseModel): +class TriggerInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_status: RtcTimeSeriesSimpleType = Field(..., alias='rtc:status') + status: TimeSeriesSimpleType -class RtcTriggerOutputComplexType(BaseModel): +class TriggerOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_status: RtcTimeSeriesSimpleType = Field(..., alias='rtc:status') - rtc_timeFalse: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:timeFalse' - ) - rtc_timeTrue: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:timeTrue') + status: TimeSeriesSimpleType + timeFalse: Optional[TimeSeriesSimpleType] = None + timeTrue: Optional[TimeSeriesSimpleType] = None -class RtcTurbineInputComplexType(BaseModel): +class TurbineInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_relativeRelease: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:relativeRelease', - description='provision of relative turbine release, 1 = maximum capacity', + relativeRelease: Optional[TimeSeriesSimpleType] = Field( + None, description='provision of relative turbine release, 1 = maximum capacity' ) - rtc_release: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:release', description='provision of absolute turbine release' + release: Optional[TimeSeriesSimpleType] = Field( + None, description='provision of absolute turbine release' ) -class RtcTurbineOutputCharacteristicsComplexType(BaseModel): +class TurbineOutputCharacteristicsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_power: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:power', description='power output [MW]' - ) + power: TimeSeriesSimpleType = Field(..., description='power output [MW]') -class RtcTurbineOutputComplexType(BaseModel): +class TurbineOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_discharge: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:discharge', description='discharge in m3/s' - ) - rtc_powerProduction: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:powerProduction', description='power production in MW' + discharge: TimeSeriesSimpleType = Field(..., description='discharge in m3/s') + powerProduction: TimeSeriesSimpleType = Field( + ..., description='power production in MW' ) -class RtcUOutletInputComplexType(BaseModel): +class UOutletInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_release: RtcTimeSeriesSimpleType = Field(..., alias='rtc:release') + release: TimeSeriesSimpleType -class RtcUnitDelayInputComplexType(BaseModel): +class UnitDelayInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType -class RtcUnitDelayOutputComplexType(BaseModel): +class UnitDelayOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: Optional[List[RtcTimeSeriesSimpleType]] = Field(None, alias='rtc:y') - rtc_yFinal: Optional[RtcTimeSeriesSimpleType] = Field( + y: Optional[List[TimeSeriesSimpleType]] = None + yFinal: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:yFinal', description='optional result of the delay operator, identical to yVector[end] if the delay is a multiple of the time step, required in case of sub time steps', ) - rtc_yMax: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:yMax') - rtc_yMean: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:yMean', description='optional mean of input and outputs' + yMax: Optional[TimeSeriesSimpleType] = None + yMean: Optional[TimeSeriesSimpleType] = Field( + None, description='optional mean of input and outputs' ) - rtc_yMin: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:yMin') - rtc_ySum: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:ySum', description='optional sum of input and outputs' + yMin: Optional[TimeSeriesSimpleType] = None + ySum: Optional[TimeSeriesSimpleType] = Field( + None, description='optional sum of input and outputs' ) - rtc_yVector: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:yVector') + yVector: Optional[TimeSeriesSimpleType] = None -class RtcUnitHydrographInputComplexType(BaseModel): +class UnitHydrographInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType -class RtcUnitHydrographOutputComplexType(BaseModel): +class UnitHydrographOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_xDelay: Optional[List[RtcTimeSeriesSimpleType]] = Field( - None, alias='rtc:xDelay' - ) - rtc_xDelayVector: Optional[RtcTimeSeriesSimpleType] = Field( + xDelay: Optional[List[TimeSeriesSimpleType]] = None + xDelayVector: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:xDelayVector', description='definition of delay vector, configure one element less than weights defined above', ) - rtc_y: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:y', description='result of unit hydrograph' - ) + y: TimeSeriesSimpleType = Field(..., description='result of unit hydrograph') -class RtcUnitTypeEnumStringType(str, Enum): +class UnitTypeEnumStringType(str, Enum): SI = 'SI' Imperial = 'Imperial' -class RtcVariableTypeEnumStringType(str, Enum): +class VariableTypeEnumStringType(str, Enum): CONTINUOUS = 'CONTINUOUS' INTEGER = 'INTEGER' TIMEINSTANCE = 'TIMEINSTANCE' -class RtcCaseLangetenEnumStringType(int, Enum): +class CaseLangetenEnumStringType(int, Enum): integer_1 = 1 integer_2 = 2 -class RtcDateType(BaseModel): +class DateType(RtcBaseModel): class Config: allow_population_by_field_name = True @@ -781,34 +701,34 @@ class Config: ) -class RtcFlowDirectionEnumStringTypeEnum(str, Enum): +class FlowDirectionEnumStringTypeEnum(str, Enum): POSITIVE = 'POSITIVE' NEGATIVE = 'NEGATIVE' BOTH = 'BOTH' -class RtcFlowDirectionEnumStringTypeItem(BaseModel): +class FlowDirectionEnumStringTypeItem(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\$][\\(-_a-z]+[\\$])$') -class RtcFlowDirectionEnumStringType(BaseModel): +class FlowDirectionEnumStringType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: Union[ - RtcFlowDirectionEnumStringTypeEnum, RtcFlowDirectionEnumStringTypeItem + FlowDirectionEnumStringTypeEnum, FlowDirectionEnumStringTypeItem ] = Field(..., description='flow direction') -class RtcInputReferenceEnumStringType(str, Enum): +class InputReferenceEnumStringType(str, Enum): EXPLICIT = 'EXPLICIT' IMPLICIT = 'IMPLICIT' -class RtcInterpolationOptionEnumStringType(str, Enum): +class InterpolationOptionEnumStringType(str, Enum): """ Type of interpolation """ @@ -817,7 +737,7 @@ class RtcInterpolationOptionEnumStringType(str, Enum): LINEAR = 'LINEAR' -class RtcLimiterOptionEnumStringType(str, Enum): +class LimiterOptionEnumStringType(str, Enum): """ Type of limiting """ @@ -826,7 +746,7 @@ class RtcLimiterOptionEnumStringType(str, Enum): ABSOLUTE = 'ABSOLUTE' -class RtcLogicalOperatorEnumStringType(str, Enum): +class LogicalOperatorEnumStringType(str, Enum): """ logical operator """ @@ -836,7 +756,7 @@ class RtcLogicalOperatorEnumStringType(str, Enum): XOR = 'XOR' -class RtcPoolRoutingEnumStringType(str, Enum): +class PoolRoutingEnumStringType(str, Enum): """ Type of pool routing. """ @@ -846,7 +766,7 @@ class RtcPoolRoutingEnumStringType(str, Enum): Theta = 'Theta' -class RtcRelationalOperatorEnumStringType(str, Enum): +class RelationalOperatorEnumStringType(str, Enum): """ relational operator """ @@ -859,7 +779,7 @@ class RtcRelationalOperatorEnumStringType(str, Enum): Greater = 'Greater' -class RtcTimeRelativeEnumStringType(str, Enum): +class TimeRelativeEnumStringType(str, Enum): """ Value option """ @@ -868,7 +788,7 @@ class RtcTimeRelativeEnumStringType(str, Enum): RELATIVE = 'RELATIVE' -class RtcTimeSeriesType(str, Enum): +class TimeSeriesType(str, Enum): """ Type of data, either accumulative or instantaneous. For accumulative data the time/date of the event is @@ -880,7 +800,7 @@ class RtcTimeSeriesType(str, Enum): instantaneous = 'instantaneous' -class RtcTimeStepUnitEnumStringType(str, Enum): +class TimeStepUnitEnumStringType(str, Enum): second = 'second' minute = 'minute' hour = 'hour' @@ -888,14 +808,14 @@ class RtcTimeStepUnitEnumStringType(str, Enum): week = 'week' -class RtcTimeType(BaseModel): +class TimeType(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str = Field(..., regex='^([\\d][\\d]\\:[\\d][\\d]\\:[\\d][\\d])$') -class RtcTransferFunctionEnumStringType(str, Enum): +class TransferFunctionEnumStringType(str, Enum): """ Type of transfer function. """ @@ -905,332 +825,308 @@ class RtcTransferFunctionEnumStringType(str, Enum): Tansig = 'Tansig' -class XsBoolean(BaseModel): +class XsBoolean(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: bool -class XsDateTime(BaseModel): +class XsDateTime(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str -class XsDouble(BaseModel): +class XsDouble(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: float -class XsFloat(BaseModel): +class XsFloat(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: float -class XsGMonthDay(BaseModel): +class XsGMonthDay(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str -class XsInt(BaseModel): +class XsInt(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: int = Field(..., ge=-2147483648, le=2147483647) -class XsInteger(BaseModel): +class XsInteger(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: int -class XsPositiveInteger(BaseModel): +class XsPositiveInteger(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: int = Field(..., ge=1) -class XsString(BaseModel): +class XsString(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str -class XsTime(BaseModel): +class XsTime(RtcBaseModel): class Config: allow_population_by_field_name = True __root__: str -class RtcRowItem(BaseModel): +class RowItem(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _value: XsDouble = Field(..., alias='@value') + attr_id: XsString + attr_value: XsDouble -class RtcATableComplexType(BaseModel): +class ATableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_row: List[RtcRowItem] = Field(..., alias='rtc:row', min_items=1) + row: List[RowItem] = Field(..., min_items=1) -class RtcAccumulationInputComplexType(BaseModel): +class AccumulationInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType -class RtcAccumulationOutputComplexType(BaseModel): +class AccumulationOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + y: TimeSeriesSimpleType -class RtcAebiRuleInputComplexType(BaseModel): +class AebiRuleInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AareBruegg: RtcTimeSeriesSimpleType = Field(..., alias='rtc:AareBruegg') - rtc_AareBrueggMin2: RtcTimeSeriesSimpleType = Field(..., alias='rtc:AareBrueggMin2') - rtc_AareMurg: RtcTimeSeriesSimpleType = Field(..., alias='rtc:AareMurg') - rtc_AbflussReglementPort: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:AbflussReglementPort' - ) - rtc_Emenmatt: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Emenmatt') - rtc_EmenmattMin4: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EmenmattMin4') - rtc_Langeten: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Langeten') - rtc_LangetenMin4: RtcTimeSeriesSimpleType = Field(..., alias='rtc:LangetenMin4') - rtc_PegelBielersee: RtcTimeSeriesSimpleType = Field(..., alias='rtc:PegelBielersee') + AareBruegg: TimeSeriesSimpleType + AareBrueggMin2: TimeSeriesSimpleType + AareMurg: TimeSeriesSimpleType + AbflussReglementPort: TimeSeriesSimpleType + Emenmatt: TimeSeriesSimpleType + EmenmattMin4: TimeSeriesSimpleType + Langeten: TimeSeriesSimpleType + LangetenMin4: TimeSeriesSimpleType + PegelBielersee: TimeSeriesSimpleType -class RtcAebiRuleOutputComplexType(BaseModel): +class AebiRuleOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_AareMurg_oKWMin1: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:AareMurg_oKWMin1' - ) - rtc_AbflussaenderungPort: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:AbflussaenderungPort' - ) - rtc_MaxAbflussPort: RtcTimeSeriesSimpleType = Field(..., alias='rtc:MaxAbflussPort') - rtc_ProvMaxAbflussPort: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:ProvMaxAbflussPort' - ) - rtc_RTG: RtcTimeSeriesSimpleType = Field(..., alias='rtc:RTG') + AareMurg_oKWMin1: TimeSeriesSimpleType + AbflussaenderungPort: TimeSeriesSimpleType + MaxAbflussPort: TimeSeriesSimpleType + ProvMaxAbflussPort: TimeSeriesSimpleType + RTG: TimeSeriesSimpleType -class RtcArmaInputComplexType(BaseModel): +class ArmaInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_obs: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:obs', description='observed data' - ) - rtc_sim: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:sim', description='simulated data' - ) + obs: TimeSeriesSimpleType = Field(..., description='observed data') + sim: TimeSeriesSimpleType = Field(..., description='simulated data') -class RtcArmaOutputComplexType(BaseModel): +class ArmaOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_arma: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:arma', description='output-corrected data' - ) + arma: TimeSeriesSimpleType = Field(..., description='output-corrected data') -class RtcBranchGradientComplexType(BaseModel): +class BranchGradientComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_storageDown: RtcTimeSeriesSimpleType = Field(..., alias='rtc:storageDown') - rtc_storageUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:storageUp') - rtc_surfaceAreaDown: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:surfaceAreaDown' - ) - rtc_surfaceAreaUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:surfaceAreaUp') + storageDown: TimeSeriesSimpleType + storageUp: TimeSeriesSimpleType + surfaceAreaDown: TimeSeriesSimpleType + surfaceAreaUp: TimeSeriesSimpleType -class RtcBranchInputComplexType(BaseModel): +class BranchInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:HDown', description='ID of downstream node' - ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:HUp', description='ID of upstream node' - ) - rtc_ux: Optional[RtcTimeSeriesSimpleType] = Field( + HDown: TimeSeriesSimpleType = Field(..., description='ID of downstream node') + HUp: TimeSeriesSimpleType = Field(..., description='ID of upstream node') + ux: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:ux', description='optional wind velocity at an elevation of 10 m above the water surface (x-direction), implementation is for the inertial model only', ) - rtc_uy: Optional[RtcTimeSeriesSimpleType] = Field( + uy: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:uy', description='optional wind velocity at an elevation of 10 m above the water surface (y-direction), implementation is for the inertial model only', ) -class RtcBranchOutputComplexType(BaseModel): +class BranchOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') + Q: TimeSeriesSimpleType -class RtcColumnsComplexType(BaseModel): +class ColumnsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _head01: XsDouble = Field(..., alias='@head01') - _head02: XsDouble = Field(..., alias='@head02') - _head03: Optional[XsDouble] = Field(None, alias='@head03') - _head04: Optional[XsDouble] = Field(None, alias='@head04') - _head05: Optional[XsDouble] = Field(None, alias='@head05') - _head06: Optional[XsDouble] = Field(None, alias='@head06') - _head07: Optional[XsDouble] = Field(None, alias='@head07') - _head08: Optional[XsDouble] = Field(None, alias='@head08') - _head09: Optional[XsDouble] = Field(None, alias='@head09') - _head10: Optional[XsDouble] = Field(None, alias='@head10') - _head11: Optional[XsDouble] = Field(None, alias='@head11') - _head12: Optional[XsDouble] = Field(None, alias='@head12') - _head13: Optional[XsDouble] = Field(None, alias='@head13') - _head14: Optional[XsDouble] = Field(None, alias='@head14') - _head15: Optional[XsDouble] = Field(None, alias='@head15') - _head16: Optional[XsDouble] = Field(None, alias='@head16') - _head17: Optional[XsDouble] = Field(None, alias='@head17') - _head18: Optional[XsDouble] = Field(None, alias='@head18') - _head19: Optional[XsDouble] = Field(None, alias='@head19') - _head20: Optional[XsDouble] = Field(None, alias='@head20') + attr_head01: XsDouble + attr_head02: XsDouble + attr_head03: Optional[XsDouble] = None + attr_head04: Optional[XsDouble] = None + attr_head05: Optional[XsDouble] = None + attr_head06: Optional[XsDouble] = None + attr_head07: Optional[XsDouble] = None + attr_head08: Optional[XsDouble] = None + attr_head09: Optional[XsDouble] = None + attr_head10: Optional[XsDouble] = None + attr_head11: Optional[XsDouble] = None + attr_head12: Optional[XsDouble] = None + attr_head13: Optional[XsDouble] = None + attr_head14: Optional[XsDouble] = None + attr_head15: Optional[XsDouble] = None + attr_head16: Optional[XsDouble] = None + attr_head17: Optional[XsDouble] = None + attr_head18: Optional[XsDouble] = None + attr_head19: Optional[XsDouble] = None + attr_head20: Optional[XsDouble] = None -class RtcConditionComplexType(BaseModel): +class ConditionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_greaterThan: Optional[XsDouble] = Field(None, alias='rtc:greaterThan') - rtc_lessThan: Optional[XsDouble] = Field(None, alias='rtc:lessThan') + greaterThan: Optional[XsDouble] = None + lessThan: Optional[XsDouble] = None -class RtcConnectionCoefficientsComplexType(BaseModel): +class ConnectionCoefficientsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_a: RtcExternalParameterSimpleType = Field(..., alias='rtc:a') - rtc_b: RtcExternalParameterSimpleType = Field(..., alias='rtc:b') - rtc_c: RtcExternalParameterSimpleType = Field(..., alias='rtc:c') - rtc_d: RtcExternalParameterSimpleType = Field(..., alias='rtc:d') + a: ExternalParameterSimpleType + b: ExternalParameterSimpleType + c: ExternalParameterSimpleType + d: ExternalParameterSimpleType -class RtcConnectionInputComplexType(BaseModel): +class ConnectionInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_discharge: RtcTimeSeriesSimpleType = Field(..., alias='rtc:discharge') - rtc_downstreamLevel: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:downstreamLevel' - ) - rtc_upstreamLevel: RtcTimeSeriesSimpleType = Field(..., alias='rtc:upstreamLevel') + discharge: TimeSeriesSimpleType + downstreamLevel: TimeSeriesSimpleType + upstreamLevel: TimeSeriesSimpleType -class RtcConnectionOutputComplexType(BaseModel): +class ConnectionOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_discharge: RtcTimeSeriesSimpleType = Field(..., alias='rtc:discharge') + discharge: TimeSeriesSimpleType -class RtcConstantRuleOutputComplexType(BaseModel): +class ConstantRuleOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + y: TimeSeriesSimpleType -class RtcDataTypicalProfileComplexType(BaseModel): +class DataTypicalProfileComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _monthOfYear: _MonthOfYear = Field(..., alias='@monthOfYear') - _value: XsDouble = Field(..., alias='@value') + attr_monthOfYear: AttrMonthOfYear + attr_value: XsDouble -class RtcDateComplexType(BaseModel): +class DateComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _monthDay: XsGMonthDay = Field(..., alias='@monthDay') + attr_monthDay: XsGMonthDay -class RtcDateLookupTableInputComplexType(BaseModel): +class DateLookupTableInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') - rtc_y: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:y') + x: TimeSeriesSimpleType + y: Optional[TimeSeriesSimpleType] = None -class RtcDateLookupTableOutputComplexType(BaseModel): +class DateLookupTableOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_active: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:active') - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + active: Optional[TimeSeriesSimpleType] = None + y: TimeSeriesSimpleType -class RtcDateRecord2DataComplexType(BaseModel): +class DateRecord2DataComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _x: XsDouble = Field(..., alias='@x') - _y: XsDouble = Field(..., alias='@y') + attr_x: XsDouble + attr_y: XsDouble -class RtcDateRecordComplexType(BaseModel): +class DateRecordComplexType(RtcBaseModel): """ defined data input as per time series format date time (defined either by dateTime or time or month day) and value @@ -1240,110 +1136,106 @@ class Config: extra = Extra.forbid allow_population_by_field_name = True - _comment: Optional[XsString] = Field(None, alias='@comment') - _dateTime: Optional[XsDateTime] = Field(None, alias='@dateTime') - _monthDay: Optional[XsGMonthDay] = Field(None, alias='@monthDay') - _time: Optional[XsTime] = Field(None, alias='@time') - _value: XsDouble = Field(..., alias='@value') + attr_comment: Optional[XsString] = None + attr_dateTime: Optional[XsDateTime] = None + attr_monthDay: Optional[XsGMonthDay] = None + attr_time: Optional[XsTime] = None + attr_value: XsDouble -class RtcDateTableComplexType(BaseModel): +class DateTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_data: List[RtcDateRecordComplexType] = Field(..., alias='rtc:data', min_items=1) + data: List[DateRecordComplexType] = Field(..., min_items=1) -class RtcDateTimeComplexType(BaseModel): +class DateTimeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _date: RtcDateType = Field(..., alias='@date') - _time: RtcTimeType = Field(..., alias='@time') + attr_date: DateType + attr_time: TimeType -class RtcDeadBandTimeDiscreteComplexType(BaseModel): +class DeadBandTimeDiscreteComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_numberOfStepsDown: XsInt = Field(..., alias='rtc:numberOfStepsDown') - rtc_numberOfStepsUp: XsInt = Field(..., alias='rtc:numberOfStepsUp') + numberOfStepsDown: XsInt + numberOfStepsUp: XsInt -class RtcDeadBandTimeInputComplexType(BaseModel): +class DeadBandTimeInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: rtc_TimeSeriesSimpleType.Field20 = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType.Field20 -class RtcDeadBandTimeOutputComplexType(BaseModel): +class DeadBandTimeOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_status: RtcTimeSeriesSimpleType = Field(..., alias='rtc:status') - rtc_stepsDown: RtcTimeSeriesSimpleType = Field(..., alias='rtc:stepsDown') - rtc_stepsUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:stepsUp') - rtc_timeFalse: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:timeFalse' - ) - rtc_timeTrue: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:timeTrue') + status: TimeSeriesSimpleType + stepsDown: TimeSeriesSimpleType + stepsUp: TimeSeriesSimpleType + timeFalse: Optional[TimeSeriesSimpleType] = None + timeTrue: Optional[TimeSeriesSimpleType] = None -class RtcDeadBandValueInputComplexType(BaseModel): +class DeadBandValueInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType -class RtcEdgeComplexType(BaseModel): +class EdgeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _x1: XsDouble = Field(..., alias='@x1') - _x2: XsDouble = Field(..., alias='@x2') + attr_x1: XsDouble + attr_x2: XsDouble -class RtcEdgesComplexType(BaseModel): +class EdgesComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_edge: List[RtcEdgeComplexType] = Field(..., alias='rtc:edge', min_items=1) + edge: List[EdgeComplexType] = Field(..., min_items=1) -class RtcEifelRurRuleComplexType(BaseModel): +class EifelRurRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_a: XsDouble = Field(..., alias='rtc:a') - rtc_b: XsDouble = Field(..., alias='rtc:b') - rtc_minimumRelativeStorage: RtcDateTableComplexType = Field( - ..., alias='rtc:minimumRelativeStorage' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + a: XsDouble + b: XsDouble + minimumRelativeStorage: DateTableComplexType -class RtcElevationRecordComplexType(BaseModel): +class ElevationRecordComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _elevation: XsDouble = Field(..., alias='@elevation') - _value: RtcExternalParameterSimpleType = Field(..., alias='@value') + attr_elevation: XsDouble + attr_value: ExternalParameterSimpleType -class RtcElevationTableComplexType(BaseModel): +class ElevationTableComplexType(RtcBaseModel): """ Table containing data for different elevations. Type of element 'value' @@ -1355,76 +1247,61 @@ class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_elevationRecord: List[RtcElevationRecordComplexType] = Field( - ..., alias='rtc:elevationRecord', min_items=1 - ) + elevationRecord: List[ElevationRecordComplexType] = Field(..., min_items=1) -class RtcEquationComplexType(BaseModel): +class EquationComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_a: RtcExternalParameterSimpleType = Field(..., alias='rtc:a') - rtc_b: RtcExternalParameterSimpleType = Field(..., alias='rtc:b') - rtc_c: RtcExternalParameterSimpleType = Field(..., alias='rtc:c') - rtc_lowerLevel: Optional[XsDouble] = Field(None, alias='rtc:lowerLevel') - rtc_upperLevel: Optional[XsDouble] = Field(None, alias='rtc:upperLevel') + a: ExternalParameterSimpleType + b: ExternalParameterSimpleType + c: ExternalParameterSimpleType + lowerLevel: Optional[XsDouble] = None + upperLevel: Optional[XsDouble] = None -class RtcEquationsComplexType(BaseModel): +class EquationsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_equation: List[RtcEquationComplexType] = Field( - ..., alias='rtc:equation', min_items=1 - ) + equation: List[EquationComplexType] = Field(..., min_items=1) -class RtcExpressionComplexType(BaseModel): +class ExpressionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_mathematicalOperator: RtcMathematicalOperatorEnumStringType = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + mathematicalOperator: MathematicalOperatorEnumStringType = Field( ..., - alias='rtc:mathematicalOperator', description='mathematical operator: + (summation), - (substraction), * (multiplication), / (division), min, max, ^ (power)', ) - rtc_x1Series: Optional[rtc_TimeSeriesSimpleType.Field2] = Field( - None, alias='rtc:x1Series', description='reference to time series ID' - ) - rtc_x1SeriesVector: Optional[rtc_TimeSeriesSimpleType.Field3] = Field( - None, - alias='rtc:x1SeriesVector', - description='reference to time series ID vector', + x1Series: Optional[TimeSeriesSimpleType.Field2] = Field( + None, description='reference to time series ID' ) - rtc_x1Value: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:x1Value', description='user-configured constant value' + x1SeriesVector: Optional[TimeSeriesSimpleType.Field3] = Field( + None, description='reference to time series ID vector' ) - rtc_x2Series: Optional[rtc_TimeSeriesSimpleType.Field4] = Field( - None, alias='rtc:x2Series' + x1Value: Optional[ExternalParameterSimpleType] = Field( + None, description='user-configured constant value' ) - rtc_x2SeriesVector: Optional[rtc_TimeSeriesSimpleType.Field5] = Field( - None, alias='rtc:x2SeriesVector' + x2Series: Optional[TimeSeriesSimpleType.Field4] = None + x2SeriesVector: Optional[TimeSeriesSimpleType.Field5] = None + x2Value: Optional[ExternalParameterSimpleType] = None + y: Optional[TimeSeriesSimpleType] = Field( + None, description='time series ID of resulting value' ) - rtc_x2Value: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:x2Value' - ) - rtc_y: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:y', description='time series ID of resulting value' - ) - rtc_yVector: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:yVector', - description='time series ID vector of resulting value', + yVector: Optional[TimeSeriesSimpleType] = Field( + None, description='time series ID vector of resulting value' ) -class RtcGeneralModuleConfigComplexType(BaseModel): +class GeneralModuleConfigComplexType(RtcBaseModel): """ DEPRICATED """ @@ -1433,1595 +1310,1370 @@ class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_description: Optional[XsString] = Field( - None, alias='rtc:description', description='DEPRICATED' - ) - rtc_poolRoutingScheme: RtcPoolRoutingEnumStringType = Field( - ..., alias='rtc:poolRoutingScheme', description='DEPRICATED' - ) - rtc_theta: XsDouble = Field(..., alias='rtc:theta', description='DEPRICATED') + description: Optional[XsString] = Field(None, description='DEPRICATED') + poolRoutingScheme: PoolRoutingEnumStringType = Field(..., description='DEPRICATED') + theta: XsDouble = Field(..., description='DEPRICATED') -class RtcGradientInputComplexType(BaseModel): +class GradientInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType -class RtcGradientOutputComplexType(BaseModel): +class GradientOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_dx: RtcTimeSeriesSimpleType = Field(..., alias='rtc:dx') + dx: TimeSeriesSimpleType -class RtcGuideBandRuleInputComplexType(BaseModel): +class GuideBandRuleInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') - rtc_y: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:y') + x: TimeSeriesSimpleType + y: Optional[TimeSeriesSimpleType] = None -class RtcGuideBandRuleOutputComplexType(BaseModel): +class GuideBandRuleOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + y: TimeSeriesSimpleType -class RtcHBVInputComplexType(BaseModel): +class HBVInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_EP: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EP') - rtc_P: RtcTimeSeriesSimpleType = Field(..., alias='rtc:P') - rtc_T: RtcTimeSeriesSimpleType = Field(..., alias='rtc:T') - rtc_TM: RtcTimeSeriesSimpleType = Field(..., alias='rtc:TM') + EP: TimeSeriesSimpleType + P: TimeSeriesSimpleType + T: TimeSeriesSimpleType + TM: TimeSeriesSimpleType -class RtcHBVLinkComplexType(BaseModel): +class HBVLinkComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_CF: RtcTimeSeriesSimpleType = Field(..., alias='rtc:CF') - rtc_EA: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EA') - rtc_EI: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EI') - rtc_EP: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EP') - rtc_IN: RtcTimeSeriesSimpleType = Field(..., alias='rtc:IN') - rtc_INI: RtcTimeSeriesSimpleType = Field(..., alias='rtc:INI') - rtc_PERC: RtcTimeSeriesSimpleType = Field(..., alias='rtc:PERC') - rtc_R: RtcTimeSeriesSimpleType = Field(..., alias='rtc:R') + CF: TimeSeriesSimpleType + EA: TimeSeriesSimpleType + EI: TimeSeriesSimpleType + EP: TimeSeriesSimpleType + IN: TimeSeriesSimpleType + INI: TimeSeriesSimpleType + PERC: TimeSeriesSimpleType + R: TimeSeriesSimpleType -class RtcHBVOutputComplexType(BaseModel): +class HBVOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') - rtc_SMPercentage: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:SMPercentage' - ) - rtc_SWE: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:SWE') + Q: TimeSeriesSimpleType + SMPercentage: Optional[TimeSeriesSimpleType] = None + SWE: Optional[TimeSeriesSimpleType] = None -class RtcHBVStateComplexType(BaseModel): +class HBVStateComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_IC: RtcTimeSeriesSimpleType = Field(..., alias='rtc:IC') - rtc_LZ: RtcTimeSeriesSimpleType = Field(..., alias='rtc:LZ') - rtc_SM: RtcTimeSeriesSimpleType = Field(..., alias='rtc:SM') - rtc_SP: RtcTimeSeriesSimpleType = Field(..., alias='rtc:SP') - rtc_UZ: RtcTimeSeriesSimpleType = Field(..., alias='rtc:UZ') - rtc_WC: RtcTimeSeriesSimpleType = Field(..., alias='rtc:WC') + IC: TimeSeriesSimpleType + LZ: TimeSeriesSimpleType + SM: TimeSeriesSimpleType + SP: TimeSeriesSimpleType + UZ: TimeSeriesSimpleType + WC: TimeSeriesSimpleType -class RtcHBVStateUpdateComplexType(BaseModel): +class HBVStateUpdateComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_IC: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:IC') - rtc_LZ: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:LZ', description='increment on lower zone storage [mm]' + IC: Optional[TimeSeriesSimpleType] = None + LZ: Optional[TimeSeriesSimpleType] = Field( + None, description='increment on lower zone storage [mm]' ) - rtc_SM: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:SM', description='STILL NOT IMPLEMENTED' + SM: Optional[TimeSeriesSimpleType] = Field( + None, description='STILL NOT IMPLEMENTED' ) - rtc_SP: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:SP', description='STILL NOT IMPLEMENTED' + SP: Optional[TimeSeriesSimpleType] = Field( + None, description='STILL NOT IMPLEMENTED' ) - rtc_UZ: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:UZ', description='STILL NOT IMPLEMENTED' + UZ: Optional[TimeSeriesSimpleType] = Field( + None, description='STILL NOT IMPLEMENTED' ) - rtc_WC: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:WC', description='STILL NOT IMPLEMENTED' + WC: Optional[TimeSeriesSimpleType] = Field( + None, description='STILL NOT IMPLEMENTED' ) -class RtcHydraulicModelOutputComplexType(BaseModel): +class HydraulicModelOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_nFun: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:nFun', description='number of function evaluations' + nFun: TimeSeriesSimpleType = Field( + ..., description='number of function evaluations' ) - rtc_nJac: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:nJac', description='number of evaluations of the Jacobian' + nJac: TimeSeriesSimpleType = Field( + ..., description='number of evaluations of the Jacobian' ) - rtc_res: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:res', - description='residuum at last iteration step, 0.5*sum(SQR(ri))', + res: TimeSeriesSimpleType = Field( + ..., description='residuum at last iteration step, 0.5*sum(SQR(ri))' ) -class RtcHydraulicModelSequentialImplicitComplexType(BaseModel): +class HydraulicModelSequentialImplicitComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_convergenceThreshold: XsDouble = Field(..., alias='rtc:convergenceThreshold') - rtc_theta: XsDouble = Field(..., alias='rtc:theta') - rtc_treatNonConvergenceAsError: XsBoolean = Field( - ..., alias='rtc:treatNonConvergenceAsError' - ) + convergenceThreshold: XsDouble + theta: XsDouble + treatNonConvergenceAsError: XsBoolean -class RtcHydraulicModelSimultaneousComplexType(BaseModel): +class HydraulicModelSimultaneousComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_theta: XsDouble = Field(..., alias='rtc:theta') + theta: XsDouble -class RtcInflowComplexType(BaseModel): +class InflowComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _factor: Optional[XsDouble] = Field(None, alias='@factor') + attr_factor: Optional[XsDouble] = None -class RtcInputATableComplexType(BaseModel): +class InputATableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_valueSelection: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:valueSelection' - ) - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + valueSelection: Optional[TimeSeriesSimpleType] = None + x: TimeSeriesSimpleType -class RtcInputCapillaryFlowStorageSystemComplexType(BaseModel): +class InputCapillaryFlowStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:HDown', - description='downstream node, typically UZ unsaturted zone', + HDown: TimeSeriesSimpleType = Field( + ..., description='downstream node, typically UZ unsaturted zone' ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:HUp', description='upstream node, typically GW upper zone' + HUp: TimeSeriesSimpleType = Field( + ..., description='upstream node, typically GW upper zone' ) -class RtcInputEvaporationActualStorageSystemComplexType(BaseModel): +class InputEvaporationActualStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_EI: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:EI') - rtc_EP: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EP') - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:HUp', description='upstream node, typically SM (soil moisture)' + EI: Optional[TimeSeriesSimpleType] = None + EP: TimeSeriesSimpleType + HUp: TimeSeriesSimpleType = Field( + ..., description='upstream node, typically SM (soil moisture)' ) -class RtcInputEvaporationInterceptionStorageSystemComplexType(BaseModel): +class InputEvaporationInterceptionStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_EP: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:EP', description='potential evaporation [mm]' - ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:HUp', description='upstream node, typically IC (interception)' + EP: TimeSeriesSimpleType = Field(..., description='potential evaporation [mm]') + HUp: TimeSeriesSimpleType = Field( + ..., description='upstream node, typically IC (interception)' ) -class RtcInputEvaporationPotentialComplexType(BaseModel): +class InputEvaporationPotentialComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_EPM: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:EPM', - description='monthly mean value of potential evaporation [mm/timestep]', - ) - rtc_T: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:T', description='instantaneous temperature [oC]' - ) - rtc_TM: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:TM', description='monthly mean temperature [oC]' + EPM: TimeSeriesSimpleType = Field( + ..., description='monthly mean value of potential evaporation [mm/timestep]' ) + T: TimeSeriesSimpleType = Field(..., description='instantaneous temperature [oC]') + TM: TimeSeriesSimpleType = Field(..., description='monthly mean temperature [oC]') -class RtcInputGroundwaterFlowStorageSystemComplexType(BaseModel): +class InputGroundwaterFlowStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:HDown', - description='downstream node, can be GW groundwater or SW surface water', + HDown: TimeSeriesSimpleType = Field( + ..., description='downstream node, can be GW groundwater or SW surface water' ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:HUp', - description='upstream node, can be GW groundwater or SW surface water', + HUp: TimeSeriesSimpleType = Field( + ..., description='upstream node, can be GW groundwater or SW surface water' ) -class RtcInputNodeStorageSystemComplexType(BaseModel): +class InputNodeStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_discharge: Optional[List[RtcTimeSeriesSimpleType]] = Field( - None, alias='rtc:discharge' - ) - rtc_state: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:state', - description='unit volume [mm], replaces the computes state', - ) - rtc_unitVolume: Optional[List[RtcTimeSeriesSimpleType]] = Field( - None, alias='rtc:unitVolume' + discharge: Optional[List[TimeSeriesSimpleType]] = None + state: Optional[TimeSeriesSimpleType] = Field( + None, description='unit volume [mm], replaces the computes state' ) + unitVolume: Optional[List[TimeSeriesSimpleType]] = None -class RtcInputPercolationStorageSystemComplexType(BaseModel): +class InputPercolationStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:HDown', - description='downstream node, typically LZ (lower zone storage)', + HDown: Optional[TimeSeriesSimpleType] = Field( + None, description='downstream node, typically LZ (lower zone storage)' ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:HUp', - description='upstream node, typically UZ (upper zone storage)', + HUp: TimeSeriesSimpleType = Field( + ..., description='upstream node, typically UZ (upper zone storage)' ) -class RtcInputPidComplexType(BaseModel): +class InputPidComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_disturbance: Optional[rtc_TimeSeriesSimpleType.Field8] = Field( - None, alias='rtc:disturbance' - ) - rtc_setpointSeries: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:setpointSeries' - ) - rtc_setpointValue: Optional[XsDouble] = Field(None, alias='rtc:setpointValue') - rtc_x: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:x', description='controllable variable' - ) + disturbance: Optional[TimeSeriesSimpleType.Field8] = None + setpointSeries: Optional[TimeSeriesSimpleType] = None + setpointValue: Optional[XsDouble] = None + x: TimeSeriesSimpleType = Field(..., description='controllable variable') -class RtcInputReleaseAboveThresholdStorageSystemComplexType(BaseModel): +class InputReleaseAboveThresholdStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:HDown', description='downstream node' - ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:HUp', description='upstream node' - ) + HDown: Optional[TimeSeriesSimpleType] = Field(None, description='downstream node') + HUp: TimeSeriesSimpleType = Field(..., description='upstream node') -class RtcInputReleaseTotalComplexType(BaseModel): +class InputReleaseTotalComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_discharge: List[RtcTimeSeriesSimpleType] = Field( - ..., alias='rtc:discharge', min_items=1 - ) + discharge: List[TimeSeriesSimpleType] = Field(..., min_items=1) -class RtcInputResponseStorageSystemComplexType(BaseModel): +class InputResponseStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HUp: RtcTimeSeriesSimpleType = Field( + HUp: TimeSeriesSimpleType = Field( ..., - alias='rtc:HUp', description='upstream (release) node, typically UZ and/or LZ (upper/lower zone storages)', ) -class RtcInputSnowRainJunctionComplexType(BaseModel): +class InputSnowRainJunctionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_P: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:P', description='precipitation [mm/timestep]' - ) - rtc_T: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:T', description='temperature [oC]' - ) + P: TimeSeriesSimpleType = Field(..., description='precipitation [mm/timestep]') + T: TimeSeriesSimpleType = Field(..., description='temperature [oC]') -class RtcInputSoilRunoffStorageSystemComplexType(BaseModel): +class InputSoilRunoffStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: Optional[RtcTimeSeriesSimpleType] = Field( + HDown: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:HDown', description='optional downstream node, typically uper saturated zones (UZ upper zone storage). Required if capillary flow is used and SM and UZ are present in one storage system', ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:HUp', - description='upstream node, typically unsaturated zone (SM soil moisture)', + HUp: TimeSeriesSimpleType = Field( + ..., description='upstream node, typically unsaturated zone (SM soil moisture)' ) - rtc_INF: List[RtcTimeSeriesSimpleType] = Field(..., alias='rtc:INF', min_items=1) + INF: List[TimeSeriesSimpleType] = Field(..., min_items=1) -class RtcInputWaterDistributionConstantStorageSystemComplexType(BaseModel): +class InputWaterDistributionConstantStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: Optional[RtcTimeSeriesSimpleType] = Field( + HDown: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:HDown', description='downstream node collector of abstracted water. For instance drinking water treatment plant', ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( + HUp: TimeSeriesSimpleType = Field( ..., - alias='rtc:HUp', description='upstream node, source of water abstraction/distribution (i.e. surface water/groundwater/sewerage)', ) -class RtcInputWaterDistributionVariableStorageSystemComplexType(BaseModel): +class InputWaterDistributionVariableStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_D: RtcTimeSeriesSimpleType = Field( + D: TimeSeriesSimpleType = Field( ..., - alias='rtc:D', description='series of industrial or domestic water demands/abstractions [m3/s]', ) - rtc_HDown: Optional[RtcTimeSeriesSimpleType] = Field( + HDown: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:HDown', description='downstream node collector of abstracted water. For instance drinking water treatment plant', ) - rtc_HUp: RtcTimeSeriesSimpleType = Field( + HUp: TimeSeriesSimpleType = Field( ..., - alias='rtc:HUp', description='upstream node, source of water abstraction/distribution (i.e. surface water/groundwater/sewerage)', ) -class RtcInterpolationOptionsComplexType(BaseModel): +class InterpolationOptionsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_date: RtcInterpolationOptionEnumStringType = Field(..., alias='rtc:date') - rtc_value: RtcInterpolationOptionEnumStringType = Field(..., alias='rtc:value') + date: InterpolationOptionEnumStringType + value: InterpolationOptionEnumStringType -class RtcIntervalInputComplexType(BaseModel): +class IntervalInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_setpoint: RtcTimeSeriesSimpleType = Field(..., alias='rtc:setpoint') - rtc_x: rtc_TimeSeriesSimpleType.Field9 = Field( - ..., alias='rtc:x', description='reference to time series ID' + setpoint: TimeSeriesSimpleType + x: TimeSeriesSimpleType.Field9 = Field( + ..., description='reference to time series ID' ) -class RtcIntervalOutputComplexType(BaseModel): +class IntervalOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_status: RtcTimeSeriesSimpleType = Field(..., alias='rtc:status') - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + status: TimeSeriesSimpleType + y: TimeSeriesSimpleType -class RtcLevelStorageEquationComplexType(BaseModel): +class LevelStorageEquationComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_A0: XsDouble = Field(..., alias='rtc:A0') - rtc_A1: XsDouble = Field(..., alias='rtc:A1') - rtc_A2: Optional[XsDouble] = Field(None, alias='rtc:A2') - rtc_A3: Optional[XsDouble] = Field(None, alias='rtc:A3') - rtc_A4: Optional[XsDouble] = Field(None, alias='rtc:A4') + A0: XsDouble + A1: XsDouble + A2: Optional[XsDouble] = None + A3: Optional[XsDouble] = None + A4: Optional[XsDouble] = None -class RtcLimiterInputComplexType(BaseModel): +class LimiterInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_thresholdSeries: Optional[rtc_TimeSeriesSimpleType.Field21] = Field( - None, alias='rtc:thresholdSeries' - ) - rtc_thresholdValue: Optional[XsDouble] = Field(None, alias='rtc:thresholdValue') - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + thresholdSeries: Optional[TimeSeriesSimpleType.Field21] = None + thresholdValue: Optional[XsDouble] = None + x: TimeSeriesSimpleType -class RtcLookup2DTableInputComplexType(BaseModel): +class Lookup2DTableInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') - rtc_z: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:z') + x: TimeSeriesSimpleType + y: TimeSeriesSimpleType + z: Optional[TimeSeriesSimpleType] = None -class RtcLookup2DTableOutputComplexType(BaseModel): +class Lookup2DTableOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_z: RtcTimeSeriesSimpleType = Field(..., alias='rtc:z') + z: TimeSeriesSimpleType -class RtcLookupTableInputComplexType(BaseModel): +class LookupTableInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: rtc_TimeSeriesSimpleType.Field10 = Field( - ..., alias='rtc:x', description='reference to time series ID' + x: TimeSeriesSimpleType.Field10 = Field( + ..., description='reference to time series ID' ) - rtc_y: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:y') + y: Optional[TimeSeriesSimpleType] = None -class RtcLookupTableOutputComplexType(BaseModel): +class LookupTableOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + y: TimeSeriesSimpleType -class RtcLorentGeversInputComplexType(BaseModel): +class LorentGeversInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_EP: RtcTimeSeriesSimpleType = Field(..., alias='rtc:EP') - rtc_P: RtcTimeSeriesSimpleType = Field(..., alias='rtc:P') + EP: TimeSeriesSimpleType + P: TimeSeriesSimpleType -class RtcLorentGeversOutputComplexType(BaseModel): +class LorentGeversOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') + Q: TimeSeriesSimpleType -class RtcLorentGeversStateComplexType(BaseModel): +class LorentGeversStateComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_QB1: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QB1') - rtc_QB2: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QB2') - rtc_QS1: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QS1') - rtc_QS2: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QS2') - rtc_S: RtcTimeSeriesSimpleType = Field(..., alias='rtc:S') + QB1: TimeSeriesSimpleType + QB2: TimeSeriesSimpleType + QS1: TimeSeriesSimpleType + QS2: TimeSeriesSimpleType + S: TimeSeriesSimpleType -class RtcLorentGeversStateUpdateComplexType(BaseModel): +class LorentGeversStateUpdateComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_S: RtcTimeSeriesSimpleType = Field(..., alias='rtc:S') + S: TimeSeriesSimpleType -class RtcMaxFlowsComplexType(BaseModel): +class MaxFlowsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _maxFlow_head01: XsDouble = Field(..., alias='@maxFlow_head01') - _maxFlow_head02: XsDouble = Field(..., alias='@maxFlow_head02') - _maxFlow_head03: Optional[XsDouble] = Field(None, alias='@maxFlow_head03') - _maxFlow_head04: Optional[XsDouble] = Field(None, alias='@maxFlow_head04') - _maxFlow_head05: Optional[XsDouble] = Field(None, alias='@maxFlow_head05') - _maxFlow_head06: Optional[XsDouble] = Field(None, alias='@maxFlow_head06') - _maxFlow_head07: Optional[XsDouble] = Field(None, alias='@maxFlow_head07') - _maxFlow_head08: Optional[XsDouble] = Field(None, alias='@maxFlow_head08') - _maxFlow_head09: Optional[XsDouble] = Field(None, alias='@maxFlow_head09') - _maxFlow_head10: Optional[XsDouble] = Field(None, alias='@maxFlow_head10') - _maxFlow_head11: Optional[XsDouble] = Field(None, alias='@maxFlow_head11') - _maxFlow_head12: Optional[XsDouble] = Field(None, alias='@maxFlow_head12') - _maxFlow_head13: Optional[XsDouble] = Field(None, alias='@maxFlow_head13') - _maxFlow_head14: Optional[XsDouble] = Field(None, alias='@maxFlow_head14') - _maxFlow_head15: Optional[XsDouble] = Field(None, alias='@maxFlow_head15') - _maxFlow_head16: Optional[XsDouble] = Field(None, alias='@maxFlow_head16') - _maxFlow_head17: Optional[XsDouble] = Field(None, alias='@maxFlow_head17') - _maxFlow_head18: Optional[XsDouble] = Field(None, alias='@maxFlow_head18') - _maxFlow_head19: Optional[XsDouble] = Field(None, alias='@maxFlow_head19') - _maxFlow_head20: Optional[XsDouble] = Field(None, alias='@maxFlow_head20') + attr_maxFlow_head01: XsDouble + attr_maxFlow_head02: XsDouble + attr_maxFlow_head03: Optional[XsDouble] = None + attr_maxFlow_head04: Optional[XsDouble] = None + attr_maxFlow_head05: Optional[XsDouble] = None + attr_maxFlow_head06: Optional[XsDouble] = None + attr_maxFlow_head07: Optional[XsDouble] = None + attr_maxFlow_head08: Optional[XsDouble] = None + attr_maxFlow_head09: Optional[XsDouble] = None + attr_maxFlow_head10: Optional[XsDouble] = None + attr_maxFlow_head11: Optional[XsDouble] = None + attr_maxFlow_head12: Optional[XsDouble] = None + attr_maxFlow_head13: Optional[XsDouble] = None + attr_maxFlow_head14: Optional[XsDouble] = None + attr_maxFlow_head15: Optional[XsDouble] = None + attr_maxFlow_head16: Optional[XsDouble] = None + attr_maxFlow_head17: Optional[XsDouble] = None + attr_maxFlow_head18: Optional[XsDouble] = None + attr_maxFlow_head19: Optional[XsDouble] = None + attr_maxFlow_head20: Optional[XsDouble] = None -class RtcMergerInputComplexType(BaseModel): +class MergerInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: List[rtc_TimeSeriesSimpleType.Field11] = Field( - ..., alias='rtc:x', min_items=1 - ) + x: List[TimeSeriesSimpleType.Field11] = Field(..., min_items=1) -class RtcMergerOutputComplexType(BaseModel): +class MergerOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:y') - rtc_ySum: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:ySum') + y: Optional[TimeSeriesSimpleType] = None + ySum: Optional[TimeSeriesSimpleType] = None -class RtcMergerSplitterInputComplexType(BaseModel): +class MergerSplitterInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: Optional[List[rtc_TimeSeriesSimpleType.Field17]] = Field(None, alias='rtc:x') - rtc_xVector: Optional[rtc_TimeSeriesSimpleType.Field18] = Field( - None, alias='rtc:xVector' - ) + x: Optional[List[TimeSeriesSimpleType.Field17]] = None + xVector: Optional[TimeSeriesSimpleType.Field18] = None -class RtcMergerSplitterOutputComplexType(BaseModel): +class MergerSplitterOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: Optional[List[rtc_TimeSeriesSimpleType.Field19]] = Field(None, alias='rtc:y') + y: Optional[List[TimeSeriesSimpleType.Field19]] = None -class RtcNeuronInputComplexType(BaseModel): +class NeuronInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_external: Optional[List[xs_string.Field1]] = Field(None, alias='rtc:external') - rtc_internal: Optional[List[xs_string.Field2]] = Field(None, alias='rtc:internal') + external: Optional[List[xs_string.Field1]] = None + internal: Optional[List[xs_string.Field2]] = None -class RtcNeuronOutputComplexType(BaseModel): +class NeuronOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:x', description='result of the transfer function' - ) - rtc_y: RtcTimeSeriesSimpleType = Field( + x: TimeSeriesSimpleType = Field(..., description='result of the transfer function') + y: TimeSeriesSimpleType = Field( ..., - alias='rtc:y', description='result of the summation of weighted input (intermediate result)', ) -class RtcNodeGradientComplexType(BaseModel): +class NodeGradientComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_lambda: RtcTimeSeriesSimpleType = Field(..., alias='rtc:lambda') - rtc_surfaceArea: RtcTimeSeriesSimpleType = Field(..., alias='rtc:surfaceArea') + lambda_: TimeSeriesSimpleType = Field(..., alias='lambda') + surfaceArea: TimeSeriesSimpleType -class RtcNodeInputComplexType(BaseModel): +class NodeInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HBC: Optional[RtcTimeSeriesSimpleType] = Field( + HBC: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:HBC', description='Time series with the water level boundary condition, note that a value MUST be provided at all time steps, otherwise the model stops with an error message', ) - rtc_HUpdate: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:HUpdate', - description='Time series with an optional water level for model updating', - ) - rtc_QBC: Optional[List[rtc_TimeSeriesSimpleType.Field6]] = Field( - None, alias='rtc:QBC' + HUpdate: Optional[TimeSeriesSimpleType] = Field( + None, description='Time series with an optional water level for model updating' ) + QBC: Optional[List[TimeSeriesSimpleType.Field6]] = None -class RtcNodeOutputComplexType(BaseModel): +class NodeOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_H: RtcTimeSeriesSimpleType = Field(..., alias='rtc:H') - rtc_R: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:R') - rtc_S: RtcTimeSeriesSimpleType = Field(..., alias='rtc:S') + H: TimeSeriesSimpleType + R: Optional[TimeSeriesSimpleType] = None + S: TimeSeriesSimpleType -class RtcNodeStorageSystemComplexType(BaseModel): +class NodeStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_AREA: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:AREA', description='constant area [km2], default is 1.0' - ) - rtc_input: Optional[RtcInputNodeStorageSystemComplexType] = Field( - None, alias='rtc:input' - ) - rtc_residuum: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:residuum', description='residuum [mm]' - ) - rtc_state: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:state', description='unit volume [mm]' - ) - rtc_stateMax: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:stateMax' - ) - rtc_stateMin: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:stateMin' + attr_id: XsString + attr_name: Optional[XsString] = None + AREA: Optional[ExternalParameterSimpleType] = Field( + None, description='constant area [km2], default is 1.0' ) + input: Optional[InputNodeStorageSystemComplexType] = None + residuum: TimeSeriesSimpleType = Field(..., description='residuum [mm]') + state: TimeSeriesSimpleType = Field(..., description='unit volume [mm]') + stateMax: Optional[ExternalParameterSimpleType] = None + stateMin: Optional[ExternalParameterSimpleType] = None -class RtcOrificeInputComplexType(BaseModel): +class OrificeInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_D: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:D', description='deprecated' - ) - rtc_DConst: Optional[XsDouble] = Field(None, alias='rtc:DConst') - rtc_DSeries: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:DSeries') - rtc_DeltaHDown: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:DeltaHDown' - ) - rtc_DeltaHUp: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:DeltaHUp') - rtc_HDown: RtcTimeSeriesSimpleType = Field(..., alias='rtc:HDown') - rtc_HUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:HUp') + D: Optional[TimeSeriesSimpleType] = Field(None, description='deprecated') + DConst: Optional[XsDouble] = None + DSeries: Optional[TimeSeriesSimpleType] = None + DeltaHDown: Optional[TimeSeriesSimpleType] = None + DeltaHUp: Optional[TimeSeriesSimpleType] = None + HDown: TimeSeriesSimpleType + HUp: TimeSeriesSimpleType -class RtcOrificeOutputComplexType(BaseModel): +class OrificeOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_D: RtcTimeSeriesSimpleType = Field(..., alias='rtc:D') - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') - rtc_flowType: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:flowType') + D: TimeSeriesSimpleType + Q: TimeSeriesSimpleType + flowType: Optional[TimeSeriesSimpleType] = None -class RtcOutletInputComplexType(BaseModel): +class OutletInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_relativeRelease: Optional[List[RtcTimeSeriesSimpleType]] = Field( - None, alias='rtc:relativeRelease' - ) - rtc_release: Optional[RtcTimeSeriesSimpleType] = Field( + relativeRelease: Optional[List[TimeSeriesSimpleType]] = None + release: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:release', description='Reference to timeseries in data configuration containg an absolute release. (ONLY FOR CONTROLLED OUTLET)', ) -class RtcOutletOutputComplexType(BaseModel): +class OutletOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_release: RtcTimeSeriesSimpleType = Field(..., alias='rtc:release') + release: TimeSeriesSimpleType -class RtcOutputATableComplexType(BaseModel): +class OutputATableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: List[rtc_TimeSeriesSimpleType.Field1] = Field( - ..., alias='rtc:y', min_items=1 - ) + y: List[TimeSeriesSimpleType.Field1] = Field(..., min_items=1) -class RtcOutputEvaporationPotentialComplexType(BaseModel): +class OutputEvaporationPotentialComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_EP: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:EP', - description='instantaneous potential evaporation [mm/timestep]', + EP: TimeSeriesSimpleType = Field( + ..., description='instantaneous potential evaporation [mm/timestep]' ) -class RtcOutputLinkStorageSystemComplexType(BaseModel): +class OutputLinkStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_H: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:H', description='Discharge as unit volume [mm/timestep]' - ) - rtc_Q: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:Q', description='Discharge [m3/s]' + H: TimeSeriesSimpleType = Field( + ..., description='Discharge as unit volume [mm/timestep]' ) + Q: TimeSeriesSimpleType = Field(..., description='Discharge [m3/s]') -class RtcOutputPidComplexType(BaseModel): +class OutputPidComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_differentialPart: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:differentialPart', - description='memory of differential part (in fact e of the last time step)', - ) - rtc_integralPart: RtcTimeSeriesSimpleType = Field( - ..., - alias='rtc:integralPart', - description='memory of integral part: integral(e)dt', + differentialPart: TimeSeriesSimpleType = Field( + ..., description='memory of differential part (in fact e of the last time step)' ) - rtc_y: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:y', description='setting of the actuator' + integralPart: TimeSeriesSimpleType = Field( + ..., description='memory of integral part: integral(e)dt' ) + y: TimeSeriesSimpleType = Field(..., description='setting of the actuator') -class RtcOutputSnowRainJunctionComplexType(BaseModel): +class OutputSnowRainJunctionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_RF: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:RF', description='rainfall [mm/timestep]' - ) - rtc_SF: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:SF', description='snowfall [mm/timestep]' - ) + RF: TimeSeriesSimpleType = Field(..., description='rainfall [mm/timestep]') + SF: TimeSeriesSimpleType = Field(..., description='snowfall [mm/timestep]') -class RtcOutputStorageSystemComplexType(BaseModel): +class OutputStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_nFun: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:nFun', description='number of function evaluations' + nFun: TimeSeriesSimpleType = Field( + ..., description='number of function evaluations' ) - rtc_nJac: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:nJac', description='number of evaluations of the Jacobian' + nJac: TimeSeriesSimpleType = Field( + ..., description='number of evaluations of the Jacobian' ) - rtc_res: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:res', description='residuum at last iteration step' + res: TimeSeriesSimpleType = Field( + ..., description='residuum at last iteration step' ) -class RtcPercolationStorageSystemComplexType(BaseModel): +class PercolationStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputPercolationStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterPercolationStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputPercolationStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterPercolationStorageSystemComplexType -class RtcPidComplexType(BaseModel): +class PidComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputPidComplexType = Field(..., alias='rtc:input') - rtc_kd: XsDouble = Field( - ..., alias='rtc:kd', description='fatcor on differential part kd*de/dt' - ) - rtc_ki: XsDouble = Field( - ..., alias='rtc:ki', description='factor on the integral part ki*integral(e)dt' + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputPidComplexType + kd: XsDouble = Field(..., description='fatcor on differential part kd*de/dt') + ki: XsDouble = Field( + ..., description='factor on the integral part ki*integral(e)dt' ) - rtc_kp: XsDouble = Field( - ..., alias='rtc:kp', description='factor on the proportional part kp*e' + kp: XsDouble = Field(..., description='factor on the proportional part kp*e') + mode: Optional[Mode] = Field( + None, description='pid mode, either "NATIVE" or "SOBEK2" or "PIDPOS" or PIDVEL"' ) - rtc_mode: Optional[RtcMode] = Field( - None, - alias='rtc:mode', - description='pid mode, either "NATIVE" or "SOBEK2" or "PIDPOS" or PIDVEL"', - ) - rtc_output: RtcOutputPidComplexType = Field(..., alias='rtc:output') - rtc_settingMax: XsDouble = Field( - ..., alias='rtc:settingMax', description='maximum setting of the actuator' - ) - rtc_settingMaxSpeed: XsDouble = Field( - ..., - alias='rtc:settingMaxSpeed', - description='maximum speed of the actuation in [unit/s]', - ) - rtc_settingMin: XsDouble = Field( - ..., alias='rtc:settingMin', description='minimum setting of the actuator' + output: OutputPidComplexType + settingMax: XsDouble = Field(..., description='maximum setting of the actuator') + settingMaxSpeed: XsDouble = Field( + ..., description='maximum speed of the actuation in [unit/s]' ) + settingMin: XsDouble = Field(..., description='minimum setting of the actuator') -class RtcPolygonComplexType(BaseModel): +class PolygonComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: Optional[XsString] = Field(None, alias='@id') - rtc_edges: RtcEdgesComplexType = Field(..., alias='rtc:edges') - rtc_value: Optional[XsDouble] = Field(None, alias='rtc:value') + attr_id: Optional[XsString] = None + edges: EdgesComplexType + value: Optional[XsDouble] = None -class RtcPolygonLookupInputComplexType(BaseModel): +class PolygonLookupInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x1: rtc_TimeSeriesSimpleType.Field12 = Field(..., alias='rtc:x1') - rtc_x2: rtc_TimeSeriesSimpleType.Field13 = Field(..., alias='rtc:x2') + x1: TimeSeriesSimpleType.Field12 + x2: TimeSeriesSimpleType.Field13 -class RtcPolygonLookupOutputComplexType(BaseModel): +class PolygonLookupOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_status: RtcTimeSeriesSimpleType = Field(..., alias='rtc:status') + status: TimeSeriesSimpleType -class RtcPolygonsComplexType(BaseModel): +class PolygonsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_polygon: List[RtcPolygonComplexType] = Field( - ..., alias='rtc:polygon', min_items=1 - ) + polygon: List[PolygonComplexType] = Field(..., min_items=1) -class RtcPumpGradientComplexType(BaseModel): +class PumpGradientComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_storageDown: RtcTimeSeriesSimpleType = Field(..., alias='rtc:storageDown') - rtc_storageUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:storageUp') + storageDown: TimeSeriesSimpleType + storageUp: TimeSeriesSimpleType -class RtcPumpInputComplexType(BaseModel): +class PumpInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_HDown: RtcTimeSeriesSimpleType = Field(..., alias='rtc:HDown') - rtc_HUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:HUp') - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') + HDown: TimeSeriesSimpleType + HUp: TimeSeriesSimpleType + Q: TimeSeriesSimpleType -class RtcPumpOutputComplexType(BaseModel): +class PumpOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') + Q: TimeSeriesSimpleType -class RtcRelationalConditionComplexType(BaseModel): +class RelationalConditionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_relationalOperator: RtcRelationalOperatorEnumStringType = Field( - ..., alias='rtc:relationalOperator' - ) - rtc_x1Series: Optional[rtc_TimeSeriesSimpleType.Field22] = Field( - None, alias='rtc:x1Series' - ) - rtc_x1Value: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:x1Value' - ) - rtc_x2Series: Optional[rtc_TimeSeriesSimpleType.Field23] = Field( - None, alias='rtc:x2Series' - ) - rtc_x2Value: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:x2Value' - ) + relationalOperator: RelationalOperatorEnumStringType + x1Series: Optional[TimeSeriesSimpleType.Field22] = None + x1Value: Optional[ExternalParameterSimpleType] = None + x2Series: Optional[TimeSeriesSimpleType.Field23] = None + x2Value: Optional[ExternalParameterSimpleType] = None -class RtcReleaseTotalComplexType(BaseModel): +class ReleaseTotalComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputReleaseTotalComplexType = Field(..., alias='rtc:input') - rtc_output: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:output', description='total discharge [m3/s]' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputReleaseTotalComplexType + output: TimeSeriesSimpleType = Field(..., description='total discharge [m3/s]') -class RtcReservoirCompactInputComplexType(BaseModel): +class ReservoirCompactInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_FB: RtcTimeSeriesSimpleType = Field( + FB: TimeSeriesSimpleType = Field( ..., - alias='rtc:FB', description='forebay elevation [m above reference level] or [ft above sea level]', ) - rtc_OF: Optional[RtcExternalParameterSimpleType] = Field( + OF: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:OF', description='optional time series with the unit outage factor [0-1], it reduces the (physical) constraints PXValue and QTXValue (NO impact on PX, QTX)', ) - rtc_PM: Optional[RtcTimeSeriesSimpleType] = Field( + PM: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:PM', description='minimum generation constraint on aggregated turbine level [MW], primarly used as operational constraint', ) - rtc_PMValue: Optional[RtcExternalParameterSimpleType] = Field( + PMValue: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:PMValue', description='fixed minimum generation constraint on aggregated turbine level [MW], primarily used as physical constraint', ) - rtc_PX: Optional[RtcTimeSeriesSimpleType] = Field( + PX: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:PX', description='maximum generation constraint on aggregated turbine level [MW], primarly used as operational constraint', ) - rtc_PXValue: Optional[RtcExternalParameterSimpleType] = Field( + PXValue: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:PXValue', description='fixed maximum generation constraint on aggregated turbine level [MW], primarly used as physical constraint', ) - rtc_Q: RtcTimeSeriesSimpleType = Field( + Q: TimeSeriesSimpleType = Field( ..., - alias='rtc:Q', description='reservoir outflow [m3/s] or [KCFS], data is expected to be complete and valid', ) - rtc_QI: List[RtcTimeSeriesSimpleType] = Field(..., alias='rtc:QI', min_items=1) - rtc_QMISC: Optional[RtcTimeSeriesSimpleType] = Field( + QI: List[TimeSeriesSimpleType] = Field(..., min_items=1) + QMISC: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:QMISC', description='optional miscellaneous flow (uncontrolled), will be zero by default [m3/s] or [KCFS] if no time series is supplied or if the time series includes NaN values', ) - rtc_QS: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:QS', description='absolute spill target [m3/s] or [KCFS]' + QS: Optional[TimeSeriesSimpleType] = Field( + None, description='absolute spill target [m3/s] or [KCFS]' ) - rtc_QSPercentage: Optional[rtc_TimeSeriesSimpleType.Field7] = Field( + QSPercentage: Optional[TimeSeriesSimpleType.Field7] = Field( None, - alias='rtc:QSPercentage', description='relative spill target as a percentage [0..100] of the total flow Q', ) - rtc_QSPercentageValue: Optional[rtc_ExternalParameterSimpleType.Field1] = Field( + QSPercentageValue: Optional[ExternalParameterSimpleType.Field1] = Field( None, - alias='rtc:QSPercentageValue', description='relative spill target as a percentage [0..100] of the total flow Q', ) - rtc_QSValue: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:QSValue', description='absolute spill target [m3/s] or [KCFS]' + QSValue: Optional[ExternalParameterSimpleType] = Field( + None, description='absolute spill target [m3/s] or [KCFS]' ) - rtc_QTX: Optional[RtcTimeSeriesSimpleType] = Field( + QTX: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:QTX', description='maximum generation constraint on aggregated turbine level [m3/s] or [KCFS], primarily used as operational constraint', ) - rtc_QTXValue: Optional[RtcExternalParameterSimpleType] = Field( + QTXValue: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:QTXValue', description='fixed maximum generation constraint on aggregated turbine level [m3/s] or [KCFS], primarily used as physical constraint', ) -class RtcReservoirCompactOutputComplexType(BaseModel): +class ReservoirCompactOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_DQ: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:DQ', description='deviation from spill target [m3/s] or [KCFS]' + DQ: TimeSeriesSimpleType = Field( + ..., description='deviation from spill target [m3/s] or [KCFS]' ) - rtc_FB: RtcTimeSeriesSimpleType = Field( + FB: TimeSeriesSimpleType = Field( ..., - alias='rtc:FB', description='forebay elevation [m above reference level] or [ft above sea level]', ) - rtc_H: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:H', description='head [m] or [ft]' - ) - rtc_P: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:P', description='power generation [MW]' + H: TimeSeriesSimpleType = Field(..., description='head [m] or [ft]') + P: TimeSeriesSimpleType = Field(..., description='power generation [MW]') + PX: Optional[TimeSeriesSimpleType] = Field( + None, description='maximum power generation [MW]' ) - rtc_PX: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:PX', description='maximum power generation [MW]' + Q: TimeSeriesSimpleType = Field( + ..., description='reservoir outflow [m3/s] or [KCFS]' ) - rtc_Q: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:Q', description='reservoir outflow [m3/s] or [KCFS]' + QI: TimeSeriesSimpleType = Field( + ..., description='reservoir inflow [m3/s] or [KCFS]' ) - rtc_QI: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:QI', description='reservoir inflow [m3/s] or [KCFS]' + QMISC: Optional[TimeSeriesSimpleType] = Field( + None, description='miscellaneous flow [m3/s] or [KCFS]' ) - rtc_QMISC: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:QMISC', description='miscellaneous flow [m3/s] or [KCFS]' + QS: TimeSeriesSimpleType = Field(..., description='spillage [m3/s] or [KCFS]') + QSPercentage: Optional[TimeSeriesSimpleType] = Field( + None, description='relative spillage [0..100]' ) - rtc_QS: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:QS', description='spillage [m3/s] or [KCFS]' + QT: TimeSeriesSimpleType = Field(..., description='turbine flow [m3/s] or [KCFS]') + QTX: Optional[TimeSeriesSimpleType] = Field( + None, description='maximum turbine flow [m3/s] or [KCFS]' ) - rtc_QSPercentage: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:QSPercentage', description='relative spillage [0..100]' - ) - rtc_QT: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:QT', description='turbine flow [m3/s] or [KCFS]' - ) - rtc_QTX: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:QTX', description='maximum turbine flow [m3/s] or [KCFS]' - ) - rtc_R: RtcTimeSeriesSimpleType = Field( + R: TimeSeriesSimpleType = Field( ..., - alias='rtc:R', description='residuum of mass balance (in simultaneous mode) [m3/s] or [KCFS]', ) - rtc_S: RtcTimeSeriesSimpleType = Field( + S: TimeSeriesSimpleType = Field( ..., - alias='rtc:S', description='storage [m3] or [KCFS-hrs], this is the system state needed in the state file', ) - rtc_TW: RtcTimeSeriesSimpleType = Field( + TW: TimeSeriesSimpleType = Field( ..., - alias='rtc:TW', description='tailwater elevation [m above reference level] or [ft above sea level]', ) -class RtcReservoirGradientComplexType(BaseModel): +class ReservoirGradientComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_lambda: RtcTimeSeriesSimpleType = Field(..., alias='rtc:lambda') - rtc_lambdaDown: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:lambdaDown' - ) + lambda_: TimeSeriesSimpleType = Field(..., alias='lambda') + lambdaDown: Optional[TimeSeriesSimpleType] = None -class RtcReservoirInputComplexType(BaseModel): +class ReservoirInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_evaporation: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:evaporation', - description='Direct evaporation from the reservoir [mm/time step]', + evaporation: Optional[TimeSeriesSimpleType] = Field( + None, description='Direct evaporation from the reservoir [mm/time step]' ) - rtc_inflow: List[RtcTimeSeriesSimpleType] = Field( - ..., alias='rtc:inflow', min_items=1 - ) - rtc_level: Optional[RtcTimeSeriesSimpleType] = Field( + inflow: List[TimeSeriesSimpleType] = Field(..., min_items=1) + level: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:level', description='Optional level [m] for updating the simulated level by an observed water level (simple data assimilation), if provided the error output is equal to the mass balance correction ', ) - rtc_precipitation: Optional[RtcTimeSeriesSimpleType] = Field( + precipitation: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:precipitation', description='Direct precitation into the reservoir [mm/time step], the value will be multiplied by the current water surface area of the reservoir', ) -class RtcReservoirOutputComplexType(BaseModel): +class ReservoirOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_error: Optional[RtcTimeSeriesSimpleType] = Field( + error: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:error', description='optional error output [m3/s] which is non-zero if the simple data assimilation option for overruling the simulated water level is used ', ) - rtc_inflow: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:inflow', description='aggregated inflows [m3/s]' - ) - rtc_level: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:level', description='water level [m] in the reservoir' + inflow: TimeSeriesSimpleType = Field(..., description='aggregated inflows [m3/s]') + level: TimeSeriesSimpleType = Field( + ..., description='water level [m] in the reservoir' ) - rtc_relativeStorage: Optional[RtcTimeSeriesSimpleType] = Field( + relativeStorage: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:relativeStorage', description='relative storage [-] typically between 0 and 1 depending on the definition of the maximum level above]', ) - rtc_release: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:release', description='aggregated release [m3/s]' - ) - rtc_residuum: Optional[RtcTimeSeriesSimpleType] = Field( - None, - alias='rtc:residuum', - description='optional residuum of the implicit solution', + release: TimeSeriesSimpleType = Field(..., description='aggregated release [m3/s]') + residuum: Optional[TimeSeriesSimpleType] = Field( + None, description='optional residuum of the implicit solution' ) - rtc_storage: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:storage', description='storage [m3] (state variable)' + storage: TimeSeriesSimpleType = Field( + ..., description='storage [m3] (state variable)' ) -class RtcResponseStorageSystemComplexType(BaseModel): +class ResponseStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputResponseStorageSystemComplexType = Field(..., alias='rtc:input') - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterResponseStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputResponseStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterResponseStorageSystemComplexType -class RtcResultComplexType(BaseModel): +class ResultComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_output: RtcTimeSeriesSimpleType = Field(..., alias='rtc:output') - rtc_value: XsInteger = Field(..., alias='rtc:value') + output: TimeSeriesSimpleType + value: XsInteger -class RtcRiverWeirInputComplexType(BaseModel): +class RiverWeirInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_CConst: Optional[XsDouble] = Field(None, alias='rtc:CConst') - rtc_CSeries: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:CSeries') - rtc_DeltaHDown: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:DeltaHDown' - ) - rtc_DeltaHUp: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:DeltaHUp') - rtc_HDown: RtcTimeSeriesSimpleType = Field(..., alias='rtc:HDown') - rtc_HUp: RtcTimeSeriesSimpleType = Field(..., alias='rtc:HUp') + CConst: Optional[XsDouble] = None + CSeries: Optional[TimeSeriesSimpleType] = None + DeltaHDown: Optional[TimeSeriesSimpleType] = None + DeltaHUp: Optional[TimeSeriesSimpleType] = None + HDown: TimeSeriesSimpleType + HUp: TimeSeriesSimpleType -class RtcRiverWeirOutputComplexType(BaseModel): +class RiverWeirOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_C: RtcTimeSeriesSimpleType = Field(..., alias='rtc:C') - rtc_Q: RtcTimeSeriesSimpleType = Field(..., alias='rtc:Q') - rtc_flowType: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:flowType') + C: TimeSeriesSimpleType + Q: TimeSeriesSimpleType + flowType: Optional[TimeSeriesSimpleType] = None -class RtcRoutingOutputComplexType(BaseModel): +class RoutingOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_discharge: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:discharge' - ) - rtc_error: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:error') + discharge: Optional[TimeSeriesSimpleType] = None + error: Optional[TimeSeriesSimpleType] = None -class RtcRowComplexType(BaseModel): +class RowComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _eta_head01: XsDouble = Field(..., alias='@eta_head01') - _eta_head02: XsDouble = Field(..., alias='@eta_head02') - _eta_head03: Optional[XsDouble] = Field(None, alias='@eta_head03') - _eta_head04: Optional[XsDouble] = Field(None, alias='@eta_head04') - _eta_head05: Optional[XsDouble] = Field(None, alias='@eta_head05') - _eta_head06: Optional[XsDouble] = Field(None, alias='@eta_head06') - _eta_head07: Optional[XsDouble] = Field(None, alias='@eta_head07') - _eta_head08: Optional[XsDouble] = Field(None, alias='@eta_head08') - _eta_head09: Optional[XsDouble] = Field(None, alias='@eta_head09') - _eta_head10: Optional[XsDouble] = Field(None, alias='@eta_head10') - _eta_head11: Optional[XsDouble] = Field(None, alias='@eta_head11') - _eta_head12: Optional[XsDouble] = Field(None, alias='@eta_head12') - _eta_head13: Optional[XsDouble] = Field(None, alias='@eta_head13') - _eta_head14: Optional[XsDouble] = Field(None, alias='@eta_head14') - _eta_head15: Optional[XsDouble] = Field(None, alias='@eta_head15') - _eta_head16: Optional[XsDouble] = Field(None, alias='@eta_head16') - _eta_head17: Optional[XsDouble] = Field(None, alias='@eta_head17') - _eta_head18: Optional[XsDouble] = Field(None, alias='@eta_head18') - _eta_head19: Optional[XsDouble] = Field(None, alias='@eta_head19') - _eta_head20: Optional[XsDouble] = Field(None, alias='@eta_head20') - _flow: XsDouble = Field(..., alias='@flow') + attr_eta_head01: XsDouble + attr_eta_head02: XsDouble + attr_eta_head03: Optional[XsDouble] = None + attr_eta_head04: Optional[XsDouble] = None + attr_eta_head05: Optional[XsDouble] = None + attr_eta_head06: Optional[XsDouble] = None + attr_eta_head07: Optional[XsDouble] = None + attr_eta_head08: Optional[XsDouble] = None + attr_eta_head09: Optional[XsDouble] = None + attr_eta_head10: Optional[XsDouble] = None + attr_eta_head11: Optional[XsDouble] = None + attr_eta_head12: Optional[XsDouble] = None + attr_eta_head13: Optional[XsDouble] = None + attr_eta_head14: Optional[XsDouble] = None + attr_eta_head15: Optional[XsDouble] = None + attr_eta_head16: Optional[XsDouble] = None + attr_eta_head17: Optional[XsDouble] = None + attr_eta_head18: Optional[XsDouble] = None + attr_eta_head19: Optional[XsDouble] = None + attr_eta_head20: Optional[XsDouble] = None + attr_flow: XsDouble -class RtcRuleStateTriggerComplexType(BaseModel): +class RuleStateTriggerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_ruleId: XsString = Field(..., alias='rtc:ruleId') + attr_id: XsString + attr_name: Optional[XsString] = None + ruleId: XsString -class RtcSRMInputComplexType(BaseModel): +class SRMInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_P: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:P') - rtc_P_Vector: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:P-Vector') - rtc_RCA: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:RCA') - rtc_RCA_Vector: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:RCA-Vector' - ) - rtc_SCA: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:SCA') - rtc_SCA_Vector: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:SCA-Vector' - ) - rtc_T: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:T') - rtc_T_Vector: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:T-Vector') - rtc_cr: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:cr') - rtc_cr_Vector: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:cr-Vector' - ) - rtc_cs: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:cs') - rtc_cs_Vector: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:cs-Vector' - ) + P: Optional[TimeSeriesSimpleType] = None + P_Vector: Optional[TimeSeriesSimpleType] = Field(None, alias='P-Vector') + RCA: Optional[TimeSeriesSimpleType] = None + RCA_Vector: Optional[TimeSeriesSimpleType] = Field(None, alias='RCA-Vector') + SCA: Optional[TimeSeriesSimpleType] = None + SCA_Vector: Optional[TimeSeriesSimpleType] = Field(None, alias='SCA-Vector') + T: Optional[TimeSeriesSimpleType] = None + T_Vector: Optional[TimeSeriesSimpleType] = Field(None, alias='T-Vector') + cr: Optional[TimeSeriesSimpleType] = None + cr_Vector: Optional[TimeSeriesSimpleType] = Field(None, alias='cr-Vector') + cs: Optional[TimeSeriesSimpleType] = None + cs_Vector: Optional[TimeSeriesSimpleType] = Field(None, alias='cs-Vector') -class RtcSRMOutputComplexType(BaseModel): +class SRMOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_QRain_Vector: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QRain-Vector') - rtc_QSnow_Vector: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QSnow-Vector') - rtc_QStorage_Vector: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:QStorage-Vector' - ) + QRain_Vector: TimeSeriesSimpleType = Field(..., alias='QRain-Vector') + QSnow_Vector: TimeSeriesSimpleType = Field(..., alias='QSnow-Vector') + QStorage_Vector: TimeSeriesSimpleType = Field(..., alias='QStorage-Vector') -class RtcSRMParameterZoneComplexType(BaseModel): +class SRMParameterZoneComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: Optional[XsString] = Field(None, alias='@id') - rtc_Tcr1: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:Tcr1', description='critical temperature (???) [oC]' - ) - rtc_Tcr2: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:Tcr2', description='critical temperature (???) [oC]' + attr_id: Optional[XsString] = None + Tcr1: ExternalParameterSimpleType = Field( + ..., description='critical temperature (???) [oC]' ) - rtc_a: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:a', description='degree day factor [mm/(oC*day)]' + Tcr2: ExternalParameterSimpleType = Field( + ..., description='critical temperature (???) [oC]' ) - rtc_area: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:area', description='area [km2]' + a: ExternalParameterSimpleType = Field( + ..., description='degree day factor [mm/(oC*day)]' ) + area: ExternalParameterSimpleType = Field(..., description='area [km2]') -class RtcSRMStateComplexType(BaseModel): +class SRMStateComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_PStorage_Vector: RtcTimeSeriesSimpleType = Field( + PStorage_Vector: TimeSeriesSimpleType = Field( ..., - alias='rtc:PStorage-Vector', + alias='PStorage-Vector', description='snow storage of non-snow-covered areas [mm]', ) - rtc_Q: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:Q', description='discharge [m3/s]' - ) + Q: TimeSeriesSimpleType = Field(..., description='discharge [m3/s]') -class RtcSnowRainJunctionComplexType(BaseModel): +class SnowRainJunctionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputSnowRainJunctionComplexType = Field(..., alias='rtc:input') - rtc_output: RtcOutputSnowRainJunctionComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterSnowRainJunctionComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputSnowRainJunctionComplexType + output: OutputSnowRainJunctionComplexType + parameter: ParameterSnowRainJunctionComplexType -class RtcSoilRunoffStorageSystemComplexType(BaseModel): +class SoilRunoffStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputSoilRunoffStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterSoilRunoffStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputSoilRunoffStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterSoilRunoffStorageSystemComplexType -class RtcSpreadsheetInputComplexType(BaseModel): +class SpreadsheetInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x1: rtc_TimeSeriesSimpleType.Field14 = Field(..., alias='rtc:x1') - rtc_x2: rtc_TimeSeriesSimpleType.Field15 = Field(..., alias='rtc:x2') - rtc_x3: Optional[rtc_TimeSeriesSimpleType.Field16] = Field(None, alias='rtc:x3') + x1: TimeSeriesSimpleType.Field14 + x2: TimeSeriesSimpleType.Field15 + x3: Optional[TimeSeriesSimpleType.Field16] = None -class RtcSpreadsheetOutputComplexType(BaseModel): +class SpreadsheetOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_status: RtcTimeSeriesSimpleType = Field(..., alias='rtc:status') + status: TimeSeriesSimpleType -class RtcSpreadsheetRecordComplexType(BaseModel): +class SpreadsheetRecordComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _x1: XsDouble = Field(..., alias='@x1') - _x2: XsDouble = Field(..., alias='@x2') - _x3: Optional[XsDouble] = Field(None, alias='@x3') - _y: XsDouble = Field(..., alias='@y') + attr_x1: XsDouble + attr_x2: XsDouble + attr_x3: Optional[XsDouble] = None + attr_y: XsDouble -class RtcSpreadsheetTableComplexType(BaseModel): +class SpreadsheetTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _initialState: Optional[XsDouble] = Field(None, alias='@initialState') - rtc_record: List[RtcSpreadsheetRecordComplexType] = Field( - ..., alias='rtc:record', min_items=1 - ) + attr_initialState: Optional[XsDouble] = None + record: List[SpreadsheetRecordComplexType] = Field(..., min_items=1) -class RtcSpreadsheetTablesComplexType(BaseModel): +class SpreadsheetTablesComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_table: List[RtcSpreadsheetTableComplexType] = Field( - ..., alias='rtc:table', min_items=1 - ) + table: List[SpreadsheetTableComplexType] = Field(..., min_items=1) -class RtcStorageCharacteristicsComplexType(BaseModel): +class StorageCharacteristicsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_maximumLevel: Optional[XsDouble] = Field( + maximumLevel: Optional[XsDouble] = Field( None, - alias='rtc:maximumLevel', description='Maximum water level h in the reservoir: this optional value does not limit the water level, it is used however to compute the relative filling percentage of the reservoir according to s = S/S(maximumLevel), where S is the absolute storage volume', ) - rtc_storageEquation: Optional[RtcEquationsComplexType] = Field( - None, - alias='rtc:storageEquation', - description='Storage equation, storage S = f(water level h)', + storageEquation: Optional[EquationsComplexType] = Field( + None, description='Storage equation, storage S = f(water level h)' ) - rtc_storageTable: Optional[RtcElevationTableComplexType] = Field( - None, - alias='rtc:storageTable', - description='Storage table with pairs of elevation h and storage S', + storageTable: Optional[ElevationTableComplexType] = Field( + None, description='Storage table with pairs of elevation h and storage S' ) -class RtcStorageSystemSettingsComplexType(BaseModel): +class StorageSystemSettingsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_acceptableConvergenceThreshold: Optional[XsDouble] = Field( + acceptableConvergenceThreshold: Optional[XsDouble] = Field( None, - alias='rtc:acceptableConvergenceThreshold', description='optional threshold after reaching the maximum number of iterations, writes a warning if reached, writes error otherwise', ) - rtc_convergenceThreshold: XsDouble = Field( - ..., - alias='rtc:convergenceThreshold', - description='iteration stops after reaching this threshold', + convergenceThreshold: XsDouble = Field( + ..., description='iteration stops after reaching this threshold' ) - rtc_treatNonConvergenceAsError: XsBoolean = Field( + treatNonConvergenceAsError: XsBoolean = Field( ..., - alias='rtc:treatNonConvergenceAsError', description='treat non-convergence related to the thresholds as error or not', ) -class RtcTableLookupTableComplexType(BaseModel): +class TableLookupTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_record: List[RtcDateRecord2DataComplexType] = Field( - ..., alias='rtc:record', min_items=1 - ) + record: List[DateRecord2DataComplexType] = Field(..., min_items=1) -class RtcTailwaterEquationComplexType(BaseModel): +class TailwaterEquationComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_A: RtcExternalParameterSimpleType = Field(..., alias='rtc:A') - rtc_B: RtcExternalParameterSimpleType = Field(..., alias='rtc:B') - rtc_C: RtcExternalParameterSimpleType = Field(..., alias='rtc:C') - rtc_D: Optional[RtcExternalParameterSimpleType] = Field(None, alias='rtc:D') - rtc_FBDown: Optional[RtcTimeSeriesSimpleType] = Field( + A: ExternalParameterSimpleType + B: ExternalParameterSimpleType + C: ExternalParameterSimpleType + D: Optional[ExternalParameterSimpleType] = None + FBDown: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:FBDown', description='time series reference to forebay elevation of the downstream project, only required if B is non-zero', ) -class RtcTailwaterOutputComplexType(BaseModel): +class TailwaterOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_head: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:head', description='head [m]' - ) - rtc_level: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:level', description='tailwater level [m]' - ) + head: TimeSeriesSimpleType = Field(..., description='head [m]') + level: TimeSeriesSimpleType = Field(..., description='tailwater level [m]') -class RtcTailwaterTidalEquationComplexType(BaseModel): +class TailwaterTidalEquationComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_A: RtcExternalParameterSimpleType = Field(..., alias='rtc:A') - rtc_QObs: RtcTimeSeriesSimpleType = Field(..., alias='rtc:QObs') - rtc_TWObs: RtcTimeSeriesSimpleType = Field(..., alias='rtc:TWObs') + A: ExternalParameterSimpleType + QObs: TimeSeriesSimpleType + TWObs: TimeSeriesSimpleType -class RtcThunerseeRuleInputComplexType(BaseModel): +class ThunerseeRuleInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_catchment: RtcTimeSeriesSimpleType = Field(..., alias='rtc:catchment') - rtc_inflow: RtcTimeSeriesSimpleType = Field(..., alias='rtc:inflow') - rtc_level: RtcTimeSeriesSimpleType = Field(..., alias='rtc:level') + catchment: TimeSeriesSimpleType + inflow: TimeSeriesSimpleType + level: TimeSeriesSimpleType -class RtcThunerseeRuleOutputComplexType(BaseModel): +class ThunerseeRuleOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_active: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='rtc:active') - rtc_releaseTotal: RtcTimeSeriesSimpleType = Field(..., alias='rtc:releaseTotal') - rtc_releaseTunnel: RtcTimeSeriesSimpleType = Field(..., alias='rtc:releaseTunnel') - rtc_releaseWeir: RtcTimeSeriesSimpleType = Field(..., alias='rtc:releaseWeir') + active: Optional[TimeSeriesSimpleType] = None + releaseTotal: TimeSeriesSimpleType + releaseTunnel: TimeSeriesSimpleType + releaseWeir: TimeSeriesSimpleType -class RtcTimeAbsoluteInputComplexType(BaseModel): +class TimeAbsoluteInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_x: RtcTimeSeriesSimpleType = Field(..., alias='rtc:x') + x: TimeSeriesSimpleType -class RtcTimeAbsoluteOutputComplexType(BaseModel): +class TimeAbsoluteOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + y: TimeSeriesSimpleType -class RtcTimeRelativeControlTableRecordComplexType(BaseModel): +class TimeRelativeControlTableRecordComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _time: XsDouble = Field(..., alias='@time') - _value: XsDouble = Field(..., alias='@value') + attr_time: XsDouble + attr_value: XsDouble -class RtcTimeRelativeInputComplexType(BaseModel): +class TimeRelativeInputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_y: RtcTimeSeriesSimpleType = Field( + y: TimeSeriesSimpleType = Field( ..., - alias='rtc:y', description='optional input for deriving the timeActive in case of the relative from Value option', ) -class RtcTimeRelativeOutputComplexType(BaseModel): +class TimeRelativeOutputComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_timeActive: RtcTimeSeriesSimpleType = Field(..., alias='rtc:timeActive') - rtc_y: RtcTimeSeriesSimpleType = Field(..., alias='rtc:y') + timeActive: TimeSeriesSimpleType + y: TimeSeriesSimpleType -class RtcTimeStepComplexType(BaseModel): +class TimeStepComplexType(RtcBaseModel): """ The timeunit element has three attributes, unit and devider and multiplier. the unit is second, minute, hour, week, month year. @@ -3032,1075 +2684,868 @@ class Config: extra = Extra.forbid allow_population_by_field_name = True - _divider: Optional[XsPositiveInteger] = Field(None, alias='@divider') - _multiplier: Optional[XsPositiveInteger] = Field(None, alias='@multiplier') - _unit: RtcTimeStepUnitEnumStringType = Field(..., alias='@unit') + attr_divider: Optional[XsPositiveInteger] = None + attr_multiplier: Optional[XsPositiveInteger] = None + attr_unit: TimeStepUnitEnumStringType -class RtcTriggerControllerComplexType(BaseModel): +class TriggerControllerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_input: RtcTimeSeriesSimpleType = Field(..., alias='rtc:input') - rtc_value: XsInteger = Field(..., alias='rtc:value') + input: TimeSeriesSimpleType + value: XsInteger -class RtcTurbineCapacityCharacteristicsComplexType(BaseModel): +class TurbineCapacityCharacteristicsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_capacityEquation: Optional[RtcEquationsComplexType] = Field( + capacityEquation: Optional[EquationsComplexType] = Field( None, - alias='rtc:capacityEquation', description='capacity equation of hydropower turbine as a function of the water head', ) - rtc_capacityTable: Optional[RtcElevationTableComplexType] = Field( + capacityTable: Optional[ElevationTableComplexType] = Field( None, - alias='rtc:capacityTable', description='capacity table of hydropower turbine as a function of the water head', ) -class RtcTurbineCharacteristicsComplexType(BaseModel): +class TurbineCharacteristicsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_efficiencyTable: RtcElevationTableComplexType = Field( + efficiencyTable: ElevationTableComplexType = Field( ..., - alias='rtc:efficiencyTable', description='efficiency table unit power output [MW / m3/s] as function of head [m] ', ) - rtc_output: RtcTurbineOutputCharacteristicsComplexType = Field( - ..., alias='rtc:output' - ) + output: TurbineOutputCharacteristicsComplexType -class RtcTurbineEfficiencyCharacteristicsComplexType(BaseModel): +class TurbineEfficiencyCharacteristicsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_efficiencyConstant: Optional[XsDouble] = Field( + efficiencyConstant: Optional[XsDouble] = Field( None, - alias='rtc:efficiencyConstant', description='constant efficiency over all discharges, typical range is [0.80, 0.90]', ) -class RtcTurbineEfficiencyTableComplexType(BaseModel): +class TurbineEfficiencyTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_columns: RtcColumnsComplexType = Field( - ..., - alias='rtc:columns', - description='column Ids refering to the head [m] of each column', + columns: ColumnsComplexType = Field( + ..., description='column Ids refering to the head [m] of each column' ) - rtc_maxFlows: RtcMaxFlowsComplexType = Field( - ..., - alias='rtc:maxFlows', - description='maximum flow for a given head (provided above)', + maxFlows: MaxFlowsComplexType = Field( + ..., description='maximum flow for a given head (provided above)' ) - rtc_row: List[RtcRowComplexType] = Field(..., alias='rtc:row', min_items=1) + row: List[RowComplexType] = Field(..., min_items=1) -class RtcTypicalProfileComplexType(BaseModel): +class TypicalProfileComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_data: List[RtcDataTypicalProfileComplexType] = Field( - ..., alias='rtc:data', min_items=1 - ) - rtc_output: RtcTimeSeriesSimpleType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + data: List[DataTypicalProfileComplexType] = Field(..., min_items=1) + output: TimeSeriesSimpleType -class RtcUnitDelayComplexType(BaseModel): +class UnitDelayComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcUnitDelayInputComplexType = Field(..., alias='rtc:input') - rtc_nStep: Optional[RtcExternalParameterSimpleType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + input: UnitDelayInputComplexType + nStep: Optional[ExternalParameterSimpleType] = Field( None, - alias='rtc:nStep', description='nStep optionally provides a delay with an arbitrary numer of time steps or sub time step, i.e. 1.5 time steps, if being used also specify the yFinal tag in the output options', ) - rtc_output: RtcUnitDelayOutputComplexType = Field( + output: UnitDelayOutputComplexType = Field( ..., - alias='rtc:output', description='The configuration of a multiple unit delay requires the configuration of a time series for each delay time step', ) -class RtcUnitHydrographWeightCustomComplexType(BaseModel): +class UnitHydrographWeightCustomComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_weight: List[XsDouble] = Field(..., alias='rtc:weight', min_items=1) + weight: List[XsDouble] = Field(..., min_items=1) -class RtcUnitHydrographWeightTriangularComplexType(BaseModel): +class UnitHydrographWeightTriangularComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_factor: Optional[XsDouble] = Field( - None, alias='rtc:factor', description='sum of all weight, if not equal to 1.0' - ) - rtc_nSteps: RtcExternalParameterSimpleType = Field( - ..., alias='rtc:nSteps', description='number of time steps' + factor: Optional[XsDouble] = Field( + None, description='sum of all weight, if not equal to 1.0' ) + nSteps: ExternalParameterSimpleType = Field(..., description='number of time steps') -class RtcValidPeriodComplexType(BaseModel): +class ValidPeriodComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_endDate: RtcDateComplexType = Field(..., alias='rtc:endDate') - rtc_startDate: RtcDateComplexType = Field(..., alias='rtc:startDate') + endDate: DateComplexType + startDate: DateComplexType -class RtcValidPeriodsComplexType(BaseModel): +class ValidPeriodsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_validPeriod: Optional[List[RtcValidPeriodComplexType]] = Field( - None, alias='rtc:validPeriod' - ) + validPeriod: Optional[List[ValidPeriodComplexType]] = None -class RtcValueArrayComplexType(BaseModel): +class ValueArrayComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_value: List[XsFloat] = Field(..., alias='rtc:value', min_items=1) + value: List[XsFloat] = Field(..., min_items=1) -class RtcYDimComplexType(BaseModel): +class YDimComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_yDim: List[XsFloat] = Field(..., alias='rtc:yDim', min_items=1) + yDim: List[XsFloat] = Field(..., min_items=1) -class RtcZoneComplexType(BaseModel): +class ZoneComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _max: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='@max') - _min: Optional[RtcTimeSeriesSimpleType] = Field(None, alias='@min') - rtc_dateTable: RtcDateTableComplexType = Field(..., alias='rtc:dateTable') + attr_max: Optional[TimeSeriesSimpleType] = None + attr_min: Optional[TimeSeriesSimpleType] = None + dateTable: DateTableComplexType -class RtcZonesComplexType(BaseModel): +class ZonesComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_zone: List[RtcZoneComplexType] = Field(..., alias='rtc:zone', min_items=1) + zone: List[ZoneComplexType] = Field(..., min_items=1) -class RtcEvaporationActualStorageSystemComplexType(BaseModel): +class EvaporationActualStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputEvaporationActualStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterEvaporationActualStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputEvaporationActualStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterEvaporationActualStorageSystemComplexType -class RtcEvaporationInterceptionStorageSystemComplexType(BaseModel): +class EvaporationInterceptionStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputEvaporationInterceptionStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterEvaporationInterceptionStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputEvaporationInterceptionStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterEvaporationInterceptionStorageSystemComplexType -class RtcGroundwaterFlowStorageSystemComplexType(BaseModel): +class GroundwaterFlowStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputGroundwaterFlowStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParametergroundwaterFlowStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputGroundwaterFlowStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParametergroundwaterFlowStorageSystemComplexType -class RtcIrrigationStorageSystemComplexType(BaseModel): +class IrrigationStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_nodeD: XsString = Field( - ..., - alias='rtc:nodeD', - description='downstream node which recieves the irrigation water', + attr_id: XsString + attr_name: Optional[XsString] = None + nodeD: XsString = Field( + ..., description='downstream node which recieves the irrigation water' ) - rtc_nodeU: XsString = Field( + nodeU: XsString = Field( ..., - alias='rtc:nodeU', description='upstream node, source of water usually the drinking water treatment plant', ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterIrrigationStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + output: OutputLinkStorageSystemComplexType + parameter: ParameterIrrigationStorageSystemComplexType -class RtcMeltRefreezingStorageSystemComplexType(BaseModel): +class MeltRefreezingStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcTimeSeriesSimpleType = Field( - ..., alias='rtc:input', description='instanteneous temperature [oC]' - ) - rtc_nodeD: XsString = Field( - ..., - alias='rtc:nodeD', - description='downstream node, typically WC (water content)', + attr_id: XsString + attr_name: Optional[XsString] = None + input: TimeSeriesSimpleType = Field( + ..., description='instanteneous temperature [oC]' ) - rtc_nodeU: XsString = Field( - ..., alias='rtc:nodeU', description='upstream node, typically SP (snow pack)' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterMeltRefreezingStorageSystemComplexType = Field( - ..., alias='rtc:parameter' + nodeD: XsString = Field( + ..., description='downstream node, typically WC (water content)' ) + nodeU: XsString = Field(..., description='upstream node, typically SP (snow pack)') + output: OutputLinkStorageSystemComplexType + parameter: ParameterMeltRefreezingStorageSystemComplexType -class RtcReleaseAboveThresholdStorageSystemComplexType(BaseModel): +class ReleaseAboveThresholdStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputReleaseAboveThresholdStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterReleaseAboveThresholdStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputReleaseAboveThresholdStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterReleaseAboveThresholdStorageSystemComplexType -class RtcReleaseWaterContentStorageSystemComplexType(BaseModel): +class ReleaseWaterContentStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_nodeA: XsString = Field( - ..., - alias='rtc:nodeA', - description='auxiliary node with snow pack, typically SP (snow pack)', + attr_id: XsString + attr_name: Optional[XsString] = None + nodeA: XsString = Field( + ..., description='auxiliary node with snow pack, typically SP (snow pack)' ) - rtc_nodeU: XsString = Field( - ..., - alias='rtc:nodeU', - description='upstream node, typically WC (water content)', - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterReleaseWaterContentStorageSystemComplexType = Field( - ..., alias='rtc:parameter' + nodeU: XsString = Field( + ..., description='upstream node, typically WC (water content)' ) + output: OutputLinkStorageSystemComplexType + parameter: ParameterReleaseWaterContentStorageSystemComplexType -class RtcWaterDistributionConstantStorageSystemComplexType(BaseModel): +class WaterDistributionConstantStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputWaterDistributionConstantStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterWaterDistributionConstantStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputWaterDistributionConstantStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterWaterDistributionConstantStorageSystemComplexType -class RtcWaterDistributionVariableStorageSystemComplexType(BaseModel): +class WaterDistributionVariableStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputWaterDistributionVariableStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterWaterDistributionVariableStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputWaterDistributionVariableStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterWaterDistributionVariableStorageSystemComplexType -class RtcAccumulationComplexType(BaseModel): +class AccumulationComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcAccumulationInputComplexType = Field( - ..., alias='rtc:input', description='input variable' - ) - rtc_multiplier: Optional[XsDouble] = Field( - None, alias='rtc:multiplier', description='optional multiplier' - ) - rtc_output: RtcAccumulationOutputComplexType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + input: AccumulationInputComplexType = Field(..., description='input variable') + multiplier: Optional[XsDouble] = Field(None, description='optional multiplier') + output: AccumulationOutputComplexType -class RtcAebiRuleComplexType(BaseModel): +class AebiRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_FactorRTG: XsDouble = Field(..., alias='rtc:FactorRTG') - rtc_LangeteFall: RtcCaseLangetenEnumStringType = Field(..., alias='rtc:LangeteFall') - rtc_input: RtcAebiRuleInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcAebiRuleOutputComplexType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + FactorRTG: XsDouble + LangeteFall: CaseLangetenEnumStringType + input: AebiRuleInputComplexType + output: AebiRuleOutputComplexType -class RtcAllocationTableComplexType(BaseModel): +class AllocationTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputATableComplexType = Field(..., alias='rtc:input') - rtc_output: RtcOutputATableComplexType = Field(..., alias='rtc:output') - rtc_table: Optional[RtcATableComplexType] = Field(None, alias='rtc:table') - rtc_tableExternal: Optional[XsString] = Field(None, alias='rtc:tableExternal') + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputATableComplexType + output: OutputATableComplexType + table: Optional[ATableComplexType] = None + tableExternal: Optional[XsString] = None -class RtcArmaComplexType(BaseModel): +class ArmaComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_arCoef: XsDouble = Field( - ..., - alias='rtc:arCoef', - description='autoregression coefficient related to prior time step', + attr_id: XsString + attr_name: Optional[XsString] = None + arCoef: XsDouble = Field( + ..., description='autoregression coefficient related to prior time step' ) - rtc_input: RtcArmaInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcArmaOutputComplexType = Field(..., alias='rtc:output') + input: ArmaInputComplexType + output: ArmaOutputComplexType -class RtcCapacityCharacteristicsComplexType(BaseModel): +class CapacityCharacteristicsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _reference: Optional[RtcCapacityReferenceEnumStringType] = Field( - None, alias='@reference' - ) - rtc_capacityEquation: Optional[RtcEquationsComplexType] = Field( - None, alias='rtc:capacityEquation' - ) - rtc_capacityTable: Optional[RtcElevationTableComplexType] = Field( - None, alias='rtc:capacityTable' - ) + attr_reference: Optional[CapacityReferenceEnumStringType] = None + capacityEquation: Optional[EquationsComplexType] = None + capacityTable: Optional[ElevationTableComplexType] = None -class RtcCapillaryFlowStorageSystemComplexType(BaseModel): +class CapillaryFlowStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputCapillaryFlowStorageSystemComplexType = Field( - ..., alias='rtc:input' - ) - rtc_output: RtcOutputLinkStorageSystemComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcParameterCapillaryFlowStorageSystemComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputCapillaryFlowStorageSystemComplexType + output: OutputLinkStorageSystemComplexType + parameter: ParameterCapillaryFlowStorageSystemComplexType -class RtcConstantRuleComplexType(BaseModel): +class ConstantRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_constant: XsDouble = Field(..., alias='rtc:constant') - rtc_output: RtcConstantRuleOutputComplexType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + constant: XsDouble + output: ConstantRuleOutputComplexType -class RtcControlledOutletComplexType(BaseModel): +class ControlledOutletComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_capacityCharacteristics: RtcCapacityCharacteristicsComplexType = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + capacityCharacteristics: CapacityCharacteristicsComplexType = Field( ..., - alias='rtc:capacityCharacteristics', description='Maximum capacity of outlet as function of the water level h, minimum capacity is assumed to be zero', ) - rtc_input: RtcOutletInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcOutletOutputComplexType = Field(..., alias='rtc:output') - rtc_turbineCharacteristics: Optional[RtcTurbineCharacteristicsComplexType] = Field( - None, - alias='rtc:turbineCharacteristics', - description='Characteristics of optional turbine', + input: OutletInputComplexType + output: OutletOutputComplexType + turbineCharacteristics: Optional[TurbineCharacteristicsComplexType] = Field( + None, description='Characteristics of optional turbine' ) -class RtcCrossSectionComplexType(BaseModel): +class CrossSectionComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_crossSectionTable: RtcElevationTableComplexType = Field( - ..., - alias='rtc:crossSectionTable', - description='Tabulated cross section, pairs of elevation h and width b ', + crossSectionTable: ElevationTableComplexType = Field( + ..., description='Tabulated cross section, pairs of elevation h and width b ' ) -class RtcCrossSectionRoughnessComplexType(BaseModel): +class CrossSectionRoughnessComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_roughnessTable: RtcElevationTableComplexType = Field( - ..., - alias='rtc:roughnessTable', - description='Pairs of elevation h and roughness C (according to Chezy)', + roughnessTable: ElevationTableComplexType = Field( + ..., description='Pairs of elevation h and roughness C (according to Chezy)' ) -class RtcDateRecord2ComplexType(BaseModel): +class DateRecord2ComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _monthDay: XsGMonthDay = Field(..., alias='@monthDay') - rtc_record: List[RtcDateRecord2DataComplexType] = Field( - ..., alias='rtc:record', min_items=1 - ) + attr_monthDay: XsGMonthDay + record: List[DateRecord2DataComplexType] = Field(..., min_items=1) -class RtcDeadBandValueComplexType(BaseModel): +class DeadBandValueComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcDeadBandValueInputComplexType = Field(..., alias='rtc:input') - rtc_threshold: XsDouble = Field(..., alias='rtc:threshold') + attr_id: XsString + attr_name: Optional[XsString] = None + input: DeadBandValueInputComplexType + threshold: XsDouble -class RtcEvaporationPotentialComplexType(BaseModel): +class EvaporationPotentialComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcInputEvaporationPotentialComplexType = Field(..., alias='rtc:input') - rtc_output: RtcOutputEvaporationPotentialComplexType = Field( - ..., alias='rtc:output' - ) - rtc_parameter: RtcParameterEvaporationPotentialComplexType = Field( - ..., alias='rtc:parameter' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: InputEvaporationPotentialComplexType + output: OutputEvaporationPotentialComplexType + parameter: ParameterEvaporationPotentialComplexType -class RtcGradientComplexType(BaseModel): +class GradientComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcGradientInputComplexType = Field( - ..., alias='rtc:input', description='input variable' - ) - rtc_multiplier: Optional[XsDouble] = Field( - None, alias='rtc:multiplier', description='optional multiplier' - ) - rtc_output: RtcGradientOutputComplexType = Field( - ..., alias='rtc:output', description='gradient, dx = multiplier*(xNew-xOld)/dt' + attr_id: XsString + attr_name: Optional[XsString] = None + input: GradientInputComplexType = Field(..., description='input variable') + multiplier: Optional[XsDouble] = Field(None, description='optional multiplier') + output: GradientOutputComplexType = Field( + ..., description='gradient, dx = multiplier*(xNew-xOld)/dt' ) -class RtcGuideBandRuleComplexType(BaseModel): +class GuideBandRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcGuideBandRuleInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcGuideBandRuleOutputComplexType = Field(..., alias='rtc:output') - rtc_xMax: RtcDateTableComplexType = Field(..., alias='rtc:xMax') - rtc_xMin: RtcDateTableComplexType = Field(..., alias='rtc:xMin') - rtc_yMax: Optional[XsDouble] = Field(None, alias='rtc:yMax') - rtc_yMaxSeries: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:yMaxSeries' - ) - rtc_yMin: Optional[XsDouble] = Field(None, alias='rtc:yMin') - rtc_yMinSeries: Optional[RtcTimeSeriesSimpleType] = Field( - None, alias='rtc:yMinSeries' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: GuideBandRuleInputComplexType + output: GuideBandRuleOutputComplexType + xMax: DateTableComplexType + xMin: DateTableComplexType + yMax: Optional[XsDouble] = None + yMaxSeries: Optional[TimeSeriesSimpleType] = None + yMin: Optional[XsDouble] = None + yMinSeries: Optional[TimeSeriesSimpleType] = None -class RtcHBVComplexType(BaseModel): +class HBVComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcHBVInputComplexType = Field(..., alias='rtc:input') - rtc_link: Optional[RtcHBVLinkComplexType] = Field(None, alias='rtc:link') - rtc_output: RtcHBVOutputComplexType = Field(..., alias='rtc:output') - rtc_parameterInput: RtcHBVParameterInputComplexType = Field( - ..., alias='rtc:parameterInput' - ) - rtc_parameterInterception: RtcHBVParameterInterceptionComplexType = Field( - ..., alias='rtc:parameterInterception' - ) - rtc_parameterResponse: RtcHBVParameterResponseComplexType = Field( - ..., alias='rtc:parameterResponse' - ) - rtc_parameterSnow: RtcHBVParameterSnowComplexType = Field( - ..., alias='rtc:parameterSnow' - ) - rtc_parameterSoil: RtcHBVParameterSoilComplexType = Field( - ..., alias='rtc:parameterSoil' - ) - rtc_state: RtcHBVStateComplexType = Field(..., alias='rtc:state') - rtc_stateUpdate: Optional[RtcHBVStateUpdateComplexType] = Field( - None, alias='rtc:stateUpdate' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: HBVInputComplexType + link: Optional[HBVLinkComplexType] = None + output: HBVOutputComplexType + parameterInput: HBVParameterInputComplexType + parameterInterception: HBVParameterInterceptionComplexType + parameterResponse: HBVParameterResponseComplexType + parameterSnow: HBVParameterSnowComplexType + parameterSoil: HBVParameterSoilComplexType + state: HBVStateComplexType + stateUpdate: Optional[HBVStateUpdateComplexType] = None -class RtcIntervalComplexType(BaseModel): +class IntervalComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_deadbandSetpointAbsolute: Optional[XsDouble] = Field( - None, alias='rtc:deadbandSetpointAbsolute' - ) - rtc_deadbandSetpointRelative: Optional[XsDouble] = Field( - None, alias='rtc:deadbandSetpointRelative' - ) - rtc_input: RtcIntervalInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcIntervalOutputComplexType = Field(..., alias='rtc:output') - rtc_settingAbove: XsDouble = Field(..., alias='rtc:settingAbove') - rtc_settingBelow: XsDouble = Field(..., alias='rtc:settingBelow') - rtc_settingMaxSpeed: Optional[XsDouble] = Field(None, alias='rtc:settingMaxSpeed') - rtc_settingMaxStep: Optional[XsDouble] = Field(None, alias='rtc:settingMaxStep') + attr_id: XsString + attr_name: Optional[XsString] = None + deadbandSetpointAbsolute: Optional[XsDouble] = None + deadbandSetpointRelative: Optional[XsDouble] = None + input: IntervalInputComplexType + output: IntervalOutputComplexType + settingAbove: XsDouble + settingBelow: XsDouble + settingMaxSpeed: Optional[XsDouble] = None + settingMaxStep: Optional[XsDouble] = None -class RtcLimiterComplexType(BaseModel): +class LimiterComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcLimiterInputComplexType = Field(..., alias='rtc:input') - rtc_mode: RtcLimiterOptionEnumStringType = Field(..., alias='rtc:mode') + attr_id: XsString + attr_name: Optional[XsString] = None + input: LimiterInputComplexType + mode: LimiterOptionEnumStringType -class RtcLinkStorageSystemComplexType(BaseModel): +class LinkStorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_capillaryFlow: Optional[RtcCapillaryFlowStorageSystemComplexType] = Field( + capillaryFlow: Optional[CapillaryFlowStorageSystemComplexType] = Field( None, - alias='rtc:capillaryFlow', description='capillary flow, typically from GW (saturated upper zone - ground water) to UZ (unsaturated zone)', ) - rtc_evaporationActual: Optional[ - RtcEvaporationActualStorageSystemComplexType - ] = Field( - None, - alias='rtc:evaporationActual', - description='actual evaporation from unsaturated zone storage node', + evaporationActual: Optional[EvaporationActualStorageSystemComplexType] = Field( + None, description='actual evaporation from unsaturated zone storage node' ) - rtc_evaporationInterception: Optional[ - RtcEvaporationInterceptionStorageSystemComplexType + evaporationInterception: Optional[ + EvaporationInterceptionStorageSystemComplexType ] = Field( None, - alias='rtc:evaporationInterception', description='evaporation from interception storage node, typically VEG/P/UP (vegeration/paved interception)', ) - rtc_groundwaterFlow: Optional[RtcGroundwaterFlowStorageSystemComplexType] = Field( - None, - alias='rtc:groundwaterFlow', - description='GW Groundwater interaction with SW Surface water', + groundwaterFlow: Optional[GroundwaterFlowStorageSystemComplexType] = Field( + None, description='GW Groundwater interaction with SW Surface water' ) - rtc_irrigation: Optional[RtcIrrigationStorageSystemComplexType] = Field( + irrigation: Optional[IrrigationStorageSystemComplexType] = Field( None, - alias='rtc:irrigation', description='NOT REFACTORED. water consumption by domestic irrigation due to dry soil', ) - rtc_meltRefreezing: Optional[RtcMeltRefreezingStorageSystemComplexType] = Field( + meltRefreezing: Optional[MeltRefreezingStorageSystemComplexType] = Field( None, - alias='rtc:meltRefreezing', description='NOT REFACTORED. melting and refreezing, typically used between SP (snow pack) and WC (water content) nodes', ) - rtc_percolation: Optional[RtcPercolationStorageSystemComplexType] = Field( + percolation: Optional[PercolationStorageSystemComplexType] = Field( None, - alias='rtc:percolation', description='percolation, typically from GW upper zone to GW lower zone), or from UP unpaved surface to UZ unsaturated zone', ) - rtc_releaseInterception: Optional[ - RtcReleaseAboveThresholdStorageSystemComplexType + releaseInterception: Optional[ + ReleaseAboveThresholdStorageSystemComplexType ] = Field( None, - alias='rtc:releaseInterception', description='release above threshold from interception storage node, typically VEG/P/UP (uses relese above threshold link)', ) - rtc_releaseWaterContent: Optional[ - RtcReleaseWaterContentStorageSystemComplexType - ] = Field( + releaseWaterContent: Optional[ReleaseWaterContentStorageSystemComplexType] = Field( None, - alias='rtc:releaseWaterContent', description='NOT REFACTORED. release from water content storage node (typically WC)', ) - rtc_response: Optional[RtcResponseStorageSystemComplexType] = Field( + response: Optional[ResponseStorageSystemComplexType] = Field( None, - alias='rtc:response', description='response from storage node, typically GW upper and GW lower zone storage nodes', ) - rtc_sewerOverflow: Optional[ - RtcReleaseAboveThresholdStorageSystemComplexType - ] = Field( - None, - alias='rtc:sewerOverflow', - description='sewer overflow (uses relese above threshold link)', + sewerOverflow: Optional[ReleaseAboveThresholdStorageSystemComplexType] = Field( + None, description='sewer overflow (uses relese above threshold link)' ) - rtc_soilRunoff: Optional[RtcSoilRunoffStorageSystemComplexType] = Field( + soilRunoff: Optional[SoilRunoffStorageSystemComplexType] = Field( None, - alias='rtc:soilRunoff', description='soil runoff from UZ unsaturated zone to GW upper zone storage node', ) - rtc_wasteWaterTreatmentPlant: Optional[ - RtcWaterDistributionConstantStorageSystemComplexType + wasteWaterTreatmentPlant: Optional[ + WaterDistributionConstantStorageSystemComplexType ] = Field( None, - alias='rtc:wasteWaterTreatmentPlant', description='water treated via the WWTP, flows at a max rate of a constant max pump capacity. Uses water distribution constant link', ) - rtc_waterDistributionConstant: Optional[ - RtcWaterDistributionConstantStorageSystemComplexType + waterDistributionConstant: Optional[ + WaterDistributionConstantStorageSystemComplexType ] = Field( None, - alias='rtc:waterDistributionConstant', description='water abstraction/distribution/consumption referenced to a constant demand (e.i. maxpump capacity). Uses water distribution constant link', ) - rtc_waterDistributionVariable: Optional[ - RtcWaterDistributionVariableStorageSystemComplexType + waterDistributionVariable: Optional[ + WaterDistributionVariableStorageSystemComplexType ] = Field( None, - alias='rtc:waterDistributionVariable', description='water abstraction/distribution/consumption referenced to a variable demand (e.i. domestic or industrial water demands). Uses water distribution variable link)', ) -class RtcLookupTableComplexType(BaseModel): +class LookupTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_extrapolationOption: Optional[RtcInterpolationOptionEnumStringType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + extrapolationOption: Optional[InterpolationOptionEnumStringType] = Field( None, - alias='rtc:extrapolationOption', description='table interpolation can be BLOCK or LINEAR, default setting if not provided is LINEAR', ) - rtc_input: RtcLookupTableInputComplexType = Field(..., alias='rtc:input') - rtc_interpolationOption: Optional[RtcInterpolationOptionEnumStringType] = Field( + input: LookupTableInputComplexType + interpolationOption: Optional[InterpolationOptionEnumStringType] = Field( None, - alias='rtc:interpolationOption', description='table interpolation can be BLOCK or LINEAR, default setting if not provided is LINEAR', ) - rtc_output: RtcLookupTableOutputComplexType = Field(..., alias='rtc:output') - rtc_property: Optional[List[RtcPropertyEnum]] = Field(None, alias='rtc:property') - rtc_table: Optional[RtcTableLookupTableComplexType] = Field(None, alias='rtc:table') - rtc_tableExternal: Optional[XsString] = Field(None, alias='rtc:tableExternal') + output: LookupTableOutputComplexType + property: Optional[List[PropertyEnum]] = None + table: Optional[TableLookupTableComplexType] = None + tableExternal: Optional[XsString] = None -class RtcLorentGeversComplexType(BaseModel): +class LorentGeversComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcLorentGeversInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcLorentGeversOutputComplexType = Field(..., alias='rtc:output') - rtc_parameterResponse: RtcLorentGeversParameterResponseComplexType = Field( - ..., alias='rtc:parameterResponse' - ) - rtc_parameterSoil: RtcLorentGeversParameterSoilComplexType = Field( - ..., alias='rtc:parameterSoil' - ) - rtc_state: RtcLorentGeversStateComplexType = Field(..., alias='rtc:state') - rtc_stateUpdate: Optional[RtcLorentGeversStateUpdateComplexType] = Field( - None, alias='rtc:stateUpdate' - ) + attr_id: XsString + attr_name: Optional[XsString] = None + input: LorentGeversInputComplexType + output: LorentGeversOutputComplexType + parameterResponse: LorentGeversParameterResponseComplexType + parameterSoil: LorentGeversParameterSoilComplexType + state: LorentGeversStateComplexType + stateUpdate: Optional[LorentGeversStateUpdateComplexType] = None -class RtcMergerComplexType(BaseModel): +class MergerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcMergerInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcMergerOutputComplexType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + input: MergerInputComplexType + output: MergerOutputComplexType -class RtcMergerSplitterComplexType(BaseModel): +class MergerSplitterComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcMergerSplitterInputComplexType = Field(..., alias='rtc:input') - rtc_mode: RtcMergerSplitterEnumStringType = Field(..., alias='rtc:mode') - rtc_output: RtcMergerSplitterOutputComplexType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + input: MergerSplitterInputComplexType + mode: MergerSplitterEnumStringType + output: MergerSplitterOutputComplexType -class RtcMinSimpleRuleComplexType(BaseModel): +class MinSimpleRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_dateTable: Optional[RtcDateTableComplexType] = Field( - None, alias='rtc:dateTable' - ) - rtc_zones: Optional[RtcZonesComplexType] = Field(None, alias='rtc:zones') + attr_id: XsString + attr_name: Optional[XsString] = None + dateTable: Optional[DateTableComplexType] = None + zones: Optional[ZonesComplexType] = None -class RtcNeuronComplexType(BaseModel): +class NeuronComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: RtcNeuronIDSimpleType = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_bias: RtcExternalParameterSimpleType = Field(..., alias='rtc:bias') - rtc_input: RtcNeuronInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcNeuronOutputComplexType = Field(..., alias='rtc:output') - rtc_transferFunction: RtcTransferFunctionEnumStringType = Field( - ..., - alias='rtc:transferFunction', - description='transfer function: sigmoid, linear etc.', + attr_id: NeuronIDSimpleType + attr_name: Optional[XsString] = None + bias: ExternalParameterSimpleType + input: NeuronInputComplexType + output: NeuronOutputComplexType + transferFunction: TransferFunctionEnumStringType = Field( + ..., description='transfer function: sigmoid, linear etc.' ) -class RtcNodeComplexType(BaseModel): +class NodeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _x: Optional[XsDouble] = Field(None, alias='@x') - _y: Optional[XsDouble] = Field(None, alias='@y') - rtc_input: Optional[RtcNodeInputComplexType] = Field(None, alias='rtc:input') - rtc_output: RtcNodeOutputComplexType = Field(..., alias='rtc:output') - rtc_storageCharacteristics: RtcStorageCharacteristicsComplexType = Field( + attr_id: XsString + attr_x: Optional[XsDouble] = None + attr_y: Optional[XsDouble] = None + input: Optional[NodeInputComplexType] = None + output: NodeOutputComplexType + storageCharacteristics: StorageCharacteristicsComplexType = Field( ..., - alias='rtc:storageCharacteristics', description='Storage characteristics of the node: The storage as a function of water level h. It can be provided as table or as a formula.', ) -class RtcOrificeComplexType(BaseModel): +class OrificeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_contractionCoefficient: XsDouble = Field( - ..., alias='rtc:contractionCoefficient' - ) - rtc_crestLevel: XsDouble = Field(..., alias='rtc:crestLevel') - rtc_exponentGateFormula: Optional[XsDouble] = Field( - None, alias='rtc:exponentGateFormula' - ) - rtc_exponentWeirFormula: Optional[XsDouble] = Field( - None, alias='rtc:exponentWeirFormula' - ) - rtc_flowDirection: Optional[RtcFlowDirectionEnumStringType] = Field( - None, alias='rtc:flowDirection' - ) - rtc_input: RtcOrificeInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcOrificeOutputComplexType = Field(..., alias='rtc:output') - rtc_width: XsDouble = Field(..., alias='rtc:width') + contractionCoefficient: XsDouble + crestLevel: XsDouble + exponentGateFormula: Optional[XsDouble] = None + exponentWeirFormula: Optional[XsDouble] = None + flowDirection: Optional[FlowDirectionEnumStringType] = None + input: OrificeInputComplexType + output: OrificeOutputComplexType + width: XsDouble -class RtcPumpComplexType(BaseModel): +class PumpComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_input: RtcPumpInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcPumpOutputComplexType = Field(..., alias='rtc:output') + input: PumpInputComplexType + output: PumpOutputComplexType -class RtcReservoirCompactComplexType(BaseModel): +class ReservoirCompactComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcReservoirCompactInputComplexType = Field( - ..., alias='rtc:input', description='input time series' + attr_id: XsString + attr_name: Optional[XsString] = None + input: ReservoirCompactInputComplexType = Field( + ..., description='input time series' ) - rtc_levelStorageEquation: Optional[RtcLevelStorageEquationComplexType] = Field( + levelStorageEquation: Optional[LevelStorageEquationComplexType] = Field( None, - alias='rtc:levelStorageEquation', description='level storage equation according to S = A0 + A1*FB ( + A2*FB^2 + ...)', ) - rtc_levelStorageTable: Optional[RtcElevationTableComplexType] = Field( + levelStorageTable: Optional[ElevationTableComplexType] = Field( None, - alias='rtc:levelStorageTable', description='level-storage relation of the reservoir, level in [m] or [ft], storage in [m3] or [KCFS-hrs]', ) - rtc_levelStorageTableExternal: Optional[XsString] = Field( + levelStorageTableExternal: Optional[XsString] = Field( None, - alias='rtc:levelStorageTableExternal', description='externalizes the level storage table to a parameter file, requires the two columns "level" and "storage"', ) - rtc_output: RtcReservoirCompactOutputComplexType = Field( - ..., alias='rtc:output', description='output time series' + output: ReservoirCompactOutputComplexType = Field( + ..., description='output time series' ) - rtc_tailwaterConstant: Optional[RtcExternalParameterSimpleType] = Field( - None, - alias='rtc:tailwaterConstant', - description='constant value for tailwater elevation', + tailwaterConstant: Optional[ExternalParameterSimpleType] = Field( + None, description='constant value for tailwater elevation' ) - rtc_tailwaterEquation: Optional[RtcTailwaterEquationComplexType] = Field( + tailwaterEquation: Optional[TailwaterEquationComplexType] = Field( None, - alias='rtc:tailwaterEquation', description='tailwater equation according to TW = A + B*FB_downstream(t-1) + C*Q(t)^D, D is equal 1.0 by default if not provided', ) - rtc_tailwaterExternalTable: Optional[XsString] = Field( - None, alias='rtc:tailwaterExternalTable', description='external tailwater table' + tailwaterExternalTable: Optional[XsString] = Field( + None, description='external tailwater table' ) - rtc_tailwaterExternalTimeSeries: Optional[RtcTimeSeriesSimpleType] = Field( + tailwaterExternalTimeSeries: Optional[TimeSeriesSimpleType] = Field( None, - alias='rtc:tailwaterExternalTimeSeries', description='external tailwater elevation from an external source or a previous calculation OUTSIDE of the reservoirCompact components', ) - rtc_tailwaterTable: Optional[RtcElevationTableComplexType] = Field( - None, - alias='rtc:tailwaterTable', - description='tailwater as a function of the reservoir release only', + tailwaterTable: Optional[ElevationTableComplexType] = Field( + None, description='tailwater as a function of the reservoir release only' ) - rtc_tailwaterTidalEquation: Optional[RtcTailwaterTidalEquationComplexType] = Field( + tailwaterTidalEquation: Optional[TailwaterTidalEquationComplexType] = Field( None, - alias='rtc:tailwaterTidalEquation', description='tidal influenced tailwater equation (works only in hindcast mode, use tailwater external with appropiate forecast of the tailwater in operational forecasting), TW = TWObs + A*(Q-QObs)', ) - rtc_turbineEfficiencyConstant: Optional[RtcExternalParameterSimpleType] = Field( - None, alias='rtc:turbineEfficiencyConstant' - ) - rtc_turbineEfficiencyTable: Optional[RtcElevationTableComplexType] = Field( - None, - alias='rtc:turbineEfficiencyTable', - description='old formulation, will be removed in the future', + turbineEfficiencyConstant: Optional[ExternalParameterSimpleType] = None + turbineEfficiencyTable: Optional[ElevationTableComplexType] = Field( + None, description='old formulation, will be removed in the future' ) - rtc_turbineEfficiencyTable2D: Optional[ - RtcTurbineEfficiencyTableComplexType - ] = Field( + turbineEfficiencyTable2D: Optional[TurbineEfficiencyTableComplexType] = Field( None, - alias='rtc:turbineEfficiencyTable2D', description='new formulation, turbine effiency depends on head and turbine release, computation by 2D lookup', ) - rtc_turbineEfficiencyTable2DExternal: Optional[XsString] = Field( - None, alias='rtc:turbineEfficiencyTable2DExternal' - ) - rtc_turbineEfficiencyTableExternal: Optional[XsString] = Field( - None, alias='rtc:turbineEfficiencyTableExternal' - ) - rtc_units: Optional[RtcUnitTypeEnumStringType] = Field( - None, alias='rtc:units', description=' "SI" or "Imperial" units' + turbineEfficiencyTable2DExternal: Optional[XsString] = None + turbineEfficiencyTableExternal: Optional[XsString] = None + units: Optional[UnitTypeEnumStringType] = Field( + None, description=' "SI" or "Imperial" units' ) -class RtcReservoirThunerseeRuleComplexType(BaseModel): +class ReservoirThunerseeRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_storageCharacteristics: RtcStorageCharacteristicsComplexType = Field( - ..., alias='rtc:storageCharacteristics' - ) + storageCharacteristics: StorageCharacteristicsComplexType -class RtcRiverWeirComplexType(BaseModel): +class RiverWeirComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_exponentWeirFormula: Optional[XsDouble] = Field( - None, alias='rtc:exponentWeirFormula' - ) - rtc_flowDirection: Optional[RtcFlowDirectionEnumStringType] = Field( - None, alias='rtc:flowDirection' - ) - rtc_input: RtcRiverWeirInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcRiverWeirOutputComplexType = Field(..., alias='rtc:output') - rtc_submergedFlowFactor: Optional[XsDouble] = Field( - None, alias='rtc:submergedFlowFactor' - ) - rtc_submergedFlowRatio: Optional[XsDouble] = Field( - None, alias='rtc:submergedFlowRatio' - ) - rtc_width: XsDouble = Field(..., alias='rtc:width') + exponentWeirFormula: Optional[XsDouble] = None + flowDirection: Optional[FlowDirectionEnumStringType] = None + input: RiverWeirInputComplexType + output: RiverWeirOutputComplexType + submergedFlowFactor: Optional[XsDouble] = None + submergedFlowRatio: Optional[XsDouble] = None + width: XsDouble -class RtcSRMComplexType(BaseModel): +class SRMComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcSRMInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcSRMOutputComplexType = Field(..., alias='rtc:output') - rtc_parameter: RtcSRMParameterComplexType = Field(..., alias='rtc:parameter') - rtc_parameterZone: List[RtcSRMParameterZoneComplexType] = Field( - ..., alias='rtc:parameterZone', min_items=1 - ) - rtc_state: RtcSRMStateComplexType = Field(..., alias='rtc:state') + attr_id: XsString + attr_name: Optional[XsString] = None + input: SRMInputComplexType + output: SRMOutputComplexType + parameter: SRMParameterComplexType + parameterZone: List[SRMParameterZoneComplexType] = Field(..., min_items=1) + state: SRMStateComplexType -class RtcSimpleReservoirComplexType(BaseModel): +class SimpleReservoirComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _multiplier: Optional[int] = Field(None, alias='@multiplier', ge=1) - rtc_capacityCharacteristics: RtcCapacityCharacteristicsComplexType = Field( - ..., alias='rtc:capacityCharacteristics' - ) - rtc_storageCharacteristics: RtcStorageCharacteristicsComplexType = Field( - ..., alias='rtc:storageCharacteristics' - ) + attr_multiplier: Optional[int] = Field(None, ge=1) + capacityCharacteristics: CapacityCharacteristicsComplexType + storageCharacteristics: StorageCharacteristicsComplexType -class RtcStorageSystemComplexType(BaseModel): +class StorageSystemComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_link: List[RtcLinkStorageSystemComplexType] = Field( - ..., alias='rtc:link', min_items=1 - ) - rtc_output: Optional[RtcOutputStorageSystemComplexType] = Field( - None, alias='rtc:output' - ) - rtc_settings: Optional[RtcStorageSystemSettingsComplexType] = Field( - None, alias='rtc:settings' - ) - rtc_storageNode: List[RtcNodeStorageSystemComplexType] = Field( - ..., alias='rtc:storageNode', min_items=1 - ) + attr_id: XsString + attr_name: Optional[XsString] = None + link: List[LinkStorageSystemComplexType] = Field(..., min_items=1) + output: Optional[OutputStorageSystemComplexType] = None + settings: Optional[StorageSystemSettingsComplexType] = None + storageNode: List[NodeStorageSystemComplexType] = Field(..., min_items=1) -class RtcSubmodelComplexType(BaseModel): +class SubmodelComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_evaporationPotential: Optional[RtcEvaporationPotentialComplexType] = Field( - None, alias='rtc:evaporationPotential', description='potential evaporation' + evaporationPotential: Optional[EvaporationPotentialComplexType] = Field( + None, description='potential evaporation' ) - rtc_snowRainJunction: Optional[RtcSnowRainJunctionComplexType] = Field( - None, - alias='rtc:snowRainJunction', - description='separates precipitation into snow and rainfall', + snowRainJunction: Optional[SnowRainJunctionComplexType] = Field( + None, description='separates precipitation into snow and rainfall' ) - rtc_storageSystem: Optional[RtcStorageSystemComplexType] = Field( + storageSystem: Optional[StorageSystemComplexType] = Field( None, - alias='rtc:storageSystem', description='storage systems with storage nodes and links for setting up bucket models', ) - rtc_typicalProfile: Optional[RtcTypicalProfileComplexType] = Field( - None, alias='rtc:typicalProfile' - ) + typicalProfile: Optional[TypicalProfileComplexType] = None -class RtcTailwaterComplexType(BaseModel): +class TailwaterComplexType(RtcBaseModel): """ Table containing data for different elevations. Type of element 'value' @@ -4112,499 +3557,408 @@ class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_constant: Optional[XsDouble] = Field( - None, alias='rtc:constant', description='Constant tailwater level [m]' + constant: Optional[XsDouble] = Field( + None, description='Constant tailwater level [m]' ) - rtc_output: RtcTailwaterOutputComplexType = Field(..., alias='rtc:output') - rtc_ratingCurve: Optional[RtcElevationTableComplexType] = Field( - None, - alias='rtc:ratingCurve', - description='Tailwater depending on discharge computed by a rating curve', + output: TailwaterOutputComplexType + ratingCurve: Optional[ElevationTableComplexType] = Field( + None, description='Tailwater depending on discharge computed by a rating curve' ) -class RtcTimeAbsoluteComplexType(BaseModel): +class TimeAbsoluteComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcTimeAbsoluteInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcTimeAbsoluteOutputComplexType = Field(..., alias='rtc:output') + attr_id: XsString + attr_name: Optional[XsString] = None + input: TimeAbsoluteInputComplexType + output: TimeAbsoluteOutputComplexType -class RtcTimeRelativeControlTableComplexType(BaseModel): +class TimeRelativeControlTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_record: List[RtcTimeRelativeControlTableRecordComplexType] = Field( - ..., alias='rtc:record', min_items=1 - ) + record: List[TimeRelativeControlTableRecordComplexType] = Field(..., min_items=1) -class RtcTunnelThunerseeRuleComplexType(BaseModel): +class TunnelThunerseeRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_capacityCharacteristics: RtcCapacityCharacteristicsComplexType = Field( - ..., alias='rtc:capacityCharacteristics' - ) - rtc_levelThreshold: XsDouble = Field(..., alias='rtc:levelThreshold') + capacityCharacteristics: CapacityCharacteristicsComplexType + levelThreshold: XsDouble -class RtcTurbineComplexType(BaseModel): +class TurbineComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_capacityCharacteristics: RtcTurbineCapacityCharacteristicsComplexType = Field( - ..., alias='rtc:capacityCharacteristics' - ) - rtc_efficiencyCharacteristics: RtcTurbineEfficiencyCharacteristicsComplexType = Field( - ..., alias='rtc:efficiencyCharacteristics' - ) - rtc_input: RtcTurbineInputComplexType = Field(..., alias='rtc:input') - rtc_nodeDown: XsString = Field(..., alias='rtc:nodeDown') - rtc_nodeUp: XsString = Field(..., alias='rtc:nodeUp') - rtc_output: RtcTurbineOutputComplexType = Field(..., alias='rtc:output') + capacityCharacteristics: TurbineCapacityCharacteristicsComplexType + efficiencyCharacteristics: TurbineEfficiencyCharacteristicsComplexType + input: TurbineInputComplexType + nodeDown: XsString + nodeUp: XsString + output: TurbineOutputComplexType -class RtcUncontrolledOutletComplexType(BaseModel): +class UncontrolledOutletComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_capacityCharacteristics: RtcCapacityCharacteristicsComplexType = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + capacityCharacteristics: CapacityCharacteristicsComplexType = Field( ..., - alias='rtc:capacityCharacteristics', description='Maximum capacity of outlet as function of the water level h, minimum capacity is assumed to be zero', ) - rtc_input: Optional[RtcUOutletInputComplexType] = Field(None, alias='rtc:input') - rtc_output: RtcOutletOutputComplexType = Field(..., alias='rtc:output') + input: Optional[UOutletInputComplexType] = None + output: OutletOutputComplexType -class RtcUnitHydrographWeightComplexType(BaseModel): +class UnitHydrographWeightComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_custom: Optional[RtcUnitHydrographWeightCustomComplexType] = Field( - None, alias='rtc:custom', description='user-defined weights' + custom: Optional[UnitHydrographWeightCustomComplexType] = Field( + None, description='user-defined weights' ) - rtc_triangular: Optional[RtcUnitHydrographWeightTriangularComplexType] = Field( - None, alias='rtc:triangular', description='weights with triangular shape' + triangular: Optional[UnitHydrographWeightTriangularComplexType] = Field( + None, description='weights with triangular shape' ) -class RtcWeirThunerseeRuleComplexType(BaseModel): +class WeirThunerseeRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_capacityCharacteristics: RtcCapacityCharacteristicsComplexType = Field( - ..., alias='rtc:capacityCharacteristics' - ) + capacityCharacteristics: CapacityCharacteristicsComplexType -class RtcXDimComplexType(BaseModel): +class XDimComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_xDim: List[RtcYDimComplexType] = Field(..., alias='rtc:xDim', min_items=1) + xDim: List[YDimComplexType] = Field(..., min_items=1) -class RtcBranchComplexType(BaseModel): +class BranchComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - rtc_alpha1: Optional[XsDouble] = Field( + attr_id: XsString + alpha1: Optional[XsDouble] = Field( None, - alias='rtc:alpha1', description='the wind friction coefficient is given by Cw = alpha1 + alpha2 * Vw, with wind velocity Vw', ) - rtc_alpha2: Optional[XsDouble] = Field( + alpha2: Optional[XsDouble] = Field( None, - alias='rtc:alpha2', description='the wind friction coefficient is given by Cw = alpha1 + alpha2 * Vw, with wind velocity Vw', ) - rtc_crossSection: RtcCrossSectionComplexType = Field( - ..., - alias='rtc:crossSection', - description='Cross section in the center of the flow branch.', - ) - rtc_equationType: Optional[RtcEquationEnumStringType] = Field( - None, alias='rtc:equationType' - ) - rtc_input: RtcBranchInputComplexType = Field(..., alias='rtc:input') - rtc_length: XsDouble = Field( - ..., alias='rtc:length', description='Length of the flow branch' - ) - rtc_output: RtcBranchOutputComplexType = Field(..., alias='rtc:output') - rtc_roughness: RtcCrossSectionRoughnessComplexType = Field( - ..., - alias='rtc:roughness', - description='Roughness (Chezy) as a function of elevation h', + crossSection: CrossSectionComplexType = Field( + ..., description='Cross section in the center of the flow branch.' ) - rtc_slope: Optional[XsDouble] = Field( - None, alias='rtc:slope', description='slope for optional kinematic wave branch' + equationType: Optional[EquationEnumStringType] = None + input: BranchInputComplexType + length: XsDouble = Field(..., description='Length of the flow branch') + output: BranchOutputComplexType + roughness: CrossSectionRoughnessComplexType = Field( + ..., description='Roughness (Chezy) as a function of elevation h' ) - rtc_spatialScheme: Optional[RtcSpatialEnumStringType] = Field( - None, alias='rtc:spatialScheme' + slope: Optional[XsDouble] = Field( + None, description='slope for optional kinematic wave branch' ) + spatialScheme: Optional[SpatialEnumStringType] = None -class RtcDateLookupTableComplexType(BaseModel): +class DateLookupTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_dateRecord: List[RtcDateRecord2ComplexType] = Field( - ..., alias='rtc:dateRecord', min_items=1 - ) - rtc_input: RtcDateLookupTableInputComplexType = Field(..., alias='rtc:input') - rtc_interpolationOptions: RtcInterpolationOptionsComplexType = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + dateRecord: List[DateRecord2ComplexType] = Field(..., min_items=1) + input: DateLookupTableInputComplexType + interpolationOptions: InterpolationOptionsComplexType = Field( ..., - alias='rtc:interpolationOptions', description='Interpolation option BLOCK / LINEAR for the two inputs date and value', ) - rtc_output: RtcDateLookupTableOutputComplexType = Field(..., alias='rtc:output') + output: DateLookupTableOutputComplexType -class RtcHydraulicStructureComplexType(BaseModel): +class HydraulicStructureComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - rtc_orifice: Optional[RtcOrificeComplexType] = Field( - None, - alias='rtc:orifice', - description='Orifice according to definition in SOBEK-Rural', + attr_id: XsString + orifice: Optional[OrificeComplexType] = Field( + None, description='Orifice according to definition in SOBEK-Rural' ) - rtc_pump: Optional[RtcPumpComplexType] = Field( - None, alias='rtc:pump', description='Pump' - ) - rtc_weir: Optional[RtcRiverWeirComplexType] = Field( - None, - alias='rtc:weir', - description='Weir according to definition in SOBEK-River', + pump: Optional[PumpComplexType] = Field(None, description='Pump') + weir: Optional[RiverWeirComplexType] = Field( + None, description='Weir according to definition in SOBEK-River' ) -class RtcHydrologicalModelComplexType(BaseModel): +class HydrologicalModelComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_submodel: List[RtcSubmodelComplexType] = Field( - ..., alias='rtc:submodel', min_items=1 - ) + attr_id: XsString + attr_name: Optional[XsString] = None + submodel: List[SubmodelComplexType] = Field(..., min_items=1) -class RtcLayerComplexType(BaseModel): +class LayerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: RtcLayerIDSimpleType = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_neuron: List[RtcNeuronComplexType] = Field(..., alias='rtc:neuron', min_items=1) + attr_id: LayerIDSimpleType + attr_name: Optional[XsString] = None + neuron: List[NeuronComplexType] = Field(..., min_items=1) -class RtcNeuralNetworkComplexType(BaseModel): +class NeuralNetworkComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_layer: List[RtcLayerComplexType] = Field(..., alias='rtc:layer', min_items=1) + attr_id: XsString + attr_name: Optional[XsString] = None + layer: List[LayerComplexType] = Field(..., min_items=1) -class RtcReservoirComplexType(BaseModel): +class ReservoirComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_controlledOutlet: Optional[List[RtcControlledOutletComplexType]] = Field( - None, alias='rtc:controlledOutlet' - ) - rtc_input: RtcReservoirInputComplexType = Field(..., alias='rtc:input') - rtc_mode: RtcPoolRoutingEnumStringType = Field( - ..., - alias='rtc:mode', - description='Time integration scheme for the network components', + attr_id: XsString + attr_name: Optional[XsString] = None + controlledOutlet: Optional[List[ControlledOutletComplexType]] = None + input: ReservoirInputComplexType + mode: PoolRoutingEnumStringType = Field( + ..., description='Time integration scheme for the network components' ) - rtc_output: RtcReservoirOutputComplexType = Field(..., alias='rtc:output') - rtc_storageCharacteristics: RtcStorageCharacteristicsComplexType = Field( + output: ReservoirOutputComplexType + storageCharacteristics: StorageCharacteristicsComplexType = Field( ..., - alias='rtc:storageCharacteristics', description='Storage characteristics of the reservoir: The storage S as a function of the water level h can be provided as a table or formula.', ) - rtc_tailwater: Optional[RtcTailwaterComplexType] = Field( - None, - alias='rtc:tailwater', - description='Tailwater rating curve\n ', + tailwater: Optional[TailwaterComplexType] = Field( + None, description='Tailwater rating curve\n ' ) - rtc_theta: XsDouble = Field( + theta: XsDouble = Field( ..., - alias='rtc:theta', description='Time weighting coefficient for the semi-implicit theta schema: 0 is equal to a full weight on the old time step, 1 represents a full weight on new time step. The coefficient is not used in the fully explicit or implicit schemas. The permitted range is between 0.5 and 1.0.', ) - rtc_uncontrolledOutlet: Optional[List[RtcUncontrolledOutletComplexType]] = Field( - None, alias='rtc:uncontrolledOutlet' - ) + uncontrolledOutlet: Optional[List[UncontrolledOutletComplexType]] = None -class RtcReservoirRoutingComplexType(BaseModel): +class ReservoirRoutingComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_simpleReservoir: List[RtcSimpleReservoirComplexType] = Field( - ..., alias='rtc:simpleReservoir', min_items=1 - ) + simpleReservoir: List[SimpleReservoirComplexType] = Field(..., min_items=1) -class RtcRoutingComplexType(BaseModel): +class RoutingComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_dischargeRef: Optional[XsString] = Field( - None, - alias='rtc:dischargeRef', - description='Reference to timeseries in data configuration', + attr_id: XsString + attr_name: Optional[XsString] = None + dischargeRef: Optional[XsString] = Field( + None, description='Reference to timeseries in data configuration' ) - rtc_inflow: Optional[List[RtcInflowComplexType]] = Field(None, alias='rtc:inflow') - rtc_outputReferences: RtcRoutingOutputComplexType = Field( + inflow: Optional[List[InflowComplexType]] = None + outputReferences: RoutingOutputComplexType = Field( ..., - alias='rtc:outputReferences', description='Contains references to the output timeseries in the data configuration', ) - rtc_reservoirRouting: Optional[RtcReservoirRoutingComplexType] = Field( - None, alias='rtc:reservoirRouting' - ) + reservoirRouting: Optional[ReservoirRoutingComplexType] = None -class RtcTable2DLookupTableComplexType(BaseModel): +class Table2DLookupTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_matrix: RtcXDimComplexType = Field(..., alias='rtc:matrix') - rtc_x: RtcValueArrayComplexType = Field(..., alias='rtc:x') - rtc_y: RtcValueArrayComplexType = Field(..., alias='rtc:y') + matrix: XDimComplexType + x: ValueArrayComplexType + y: ValueArrayComplexType -class RtcThunerseeRuleComplexType(BaseModel): +class ThunerseeRuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcThunerseeRuleInputComplexType = Field(..., alias='rtc:input') - rtc_levelSetpoint: XsDouble = Field(..., alias='rtc:levelSetpoint') - rtc_output: RtcThunerseeRuleOutputComplexType = Field(..., alias='rtc:output') - rtc_releaseLimiterPercentage: XsDouble = Field( - ..., alias='rtc:releaseLimiterPercentage' - ) - rtc_reservoir: RtcReservoirThunerseeRuleComplexType = Field( - ..., alias='rtc:reservoir' - ) - rtc_tunnel: RtcTunnelThunerseeRuleComplexType = Field(..., alias='rtc:tunnel') - rtc_weir: RtcWeirThunerseeRuleComplexType = Field(..., alias='rtc:weir') + attr_id: XsString + attr_name: Optional[XsString] = None + input: ThunerseeRuleInputComplexType + levelSetpoint: XsDouble + output: ThunerseeRuleOutputComplexType + releaseLimiterPercentage: XsDouble + reservoir: ReservoirThunerseeRuleComplexType + tunnel: TunnelThunerseeRuleComplexType + weir: WeirThunerseeRuleComplexType -class RtcTimeRelativeComplexType(BaseModel): +class TimeRelativeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_controlTable: RtcTimeRelativeControlTableComplexType = Field( - ..., alias='rtc:controlTable', description='table with time [s] / value records' - ) - rtc_input: Optional[RtcTimeRelativeInputComplexType] = Field( - None, alias='rtc:input' + attr_id: XsString + attr_name: Optional[XsString] = None + controlTable: TimeRelativeControlTableComplexType = Field( + ..., description='table with time [s] / value records' ) - rtc_interpolationOption: Optional[RtcInterpolationOptionEnumStringType] = Field( + input: Optional[TimeRelativeInputComplexType] = None + interpolationOption: Optional[InterpolationOptionEnumStringType] = Field( None, - alias='rtc:interpolationOption', description='table interpolation can be BLOCK or LINEAR, default setting if not provided is LINEAR', ) - rtc_maximumPeriod: Optional[XsDouble] = Field(None, alias='rtc:maximumPeriod') - rtc_mode: Optional[RtcMode1] = Field( + maximumPeriod: Optional[XsDouble] = None + mode: Optional[Mode1] = Field( None, - alias='rtc:mode', description='timeRelative mode, either "NATIVE" or "RETAINVALUEWHENINACTIVE"', ) - rtc_output: RtcTimeRelativeOutputComplexType = Field(..., alias='rtc:output') - rtc_valueOption: RtcTimeRelativeEnumStringType = Field( + output: TimeRelativeOutputComplexType + valueOption: TimeRelativeEnumStringType = Field( ..., - alias='rtc:valueOption', description='setting if the control table provides the absolute value or the relative value ', ) -class RtcUnitHydrographComplexType(BaseModel): +class UnitHydrographComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcUnitHydrographInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcUnitHydrographOutputComplexType = Field(..., alias='rtc:output') - rtc_weights: RtcUnitHydrographWeightComplexType = Field(..., alias='rtc:weights') + attr_id: XsString + attr_name: Optional[XsString] = None + input: UnitHydrographInputComplexType + output: UnitHydrographOutputComplexType + weights: UnitHydrographWeightComplexType -class RtcHydraulicModelComplexType(BaseModel): +class HydraulicModelComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_branch: Optional[List[RtcBranchComplexType]] = Field(None, alias='rtc:branch') - rtc_hydraulicStructure: Optional[List[RtcHydraulicStructureComplexType]] = Field( - None, alias='rtc:hydraulicStructure' - ) - rtc_mode: RtcHydraulicModelModeEnumStringType = Field(..., alias='rtc:mode') - rtc_node: Optional[List[RtcNodeComplexType]] = Field(None, alias='rtc:node') - rtc_numericalTolerance: XsDouble = Field(..., alias='rtc:numericalTolerance') - rtc_output: Optional[RtcHydraulicModelOutputComplexType] = Field( - None, alias='rtc:output' - ) - rtc_sequentialImplicitSettings: Optional[ - RtcHydraulicModelSequentialImplicitComplexType - ] = Field(None, alias='rtc:sequentialImplicitSettings') - rtc_simultaneousSettings: Optional[ - RtcHydraulicModelSimultaneousComplexType - ] = Field(None, alias='rtc:simultaneousSettings') + attr_id: XsString + attr_name: Optional[XsString] = None + branch: Optional[List[BranchComplexType]] = None + hydraulicStructure: Optional[List[HydraulicStructureComplexType]] = None + mode: HydraulicModelModeEnumStringType + node: Optional[List[NodeComplexType]] = None + numericalTolerance: XsDouble + output: Optional[HydraulicModelOutputComplexType] = None + sequentialImplicitSettings: Optional[ + HydraulicModelSequentialImplicitComplexType + ] = None + simultaneousSettings: Optional[HydraulicModelSimultaneousComplexType] = None -class RtcLookup2DTableComplexType(BaseModel): +class Lookup2DTableComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_input: RtcLookup2DTableInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcLookup2DTableOutputComplexType = Field(..., alias='rtc:output') - rtc_table: RtcTable2DLookupTableComplexType = Field(..., alias='rtc:table') + attr_id: XsString + attr_name: Optional[XsString] = None + input: Lookup2DTableInputComplexType + output: Lookup2DTableOutputComplexType + table: Table2DLookupTableComplexType -class RtcComponentComplexType(BaseModel): +class ComponentComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _template: Optional[XsString] = Field(None, alias='@template') - rtc_accumulation: Optional[RtcAccumulationComplexType] = Field( - None, - alias='rtc:accumulation', - description='Accumulation of a time series over time', - ) - rtc_allocationTable: Optional[RtcAllocationTableComplexType] = Field( - None, alias='rtc:allocationTable' + attr_template: Optional[XsString] = None + accumulation: Optional[AccumulationComplexType] = Field( + None, description='Accumulation of a time series over time' ) - rtc_arma: Optional[RtcArmaComplexType] = Field( - None, alias='rtc:arma', description='Arma error correction model' + allocationTable: Optional[AllocationTableComplexType] = None + arma: Optional[ArmaComplexType] = Field( + None, description='Arma error correction model' ) - rtc_expression: Optional[RtcExpressionComplexType] = Field( - None, alias='rtc:expression', description='Mathematical expression' + expression: Optional[ExpressionComplexType] = Field( + None, description='Mathematical expression' ) - rtc_gradient: Optional[RtcGradientComplexType] = Field( - None, - alias='rtc:gradient', - description='Post processing for computing gradients of simulated values', + gradient: Optional[GradientComplexType] = Field( + None, description='Post processing for computing gradients of simulated values' ) - rtc_hbv: Optional[RtcHBVComplexType] = Field( + hbv: Optional[HBVComplexType] = Field( None, - alias='rtc:hbv', description='This is an implementation of the HBV-96 hydrological model. Note that the unit hydrograph is not included, but available separately.', ) - rtc_hydraulicModel: Optional[RtcHydraulicModelComplexType] = Field( + hydraulicModel: Optional[HydraulicModelComplexType] = Field( None, - alias='rtc:hydraulicModel', description='Simplifications of the full dynamic, one-dimensional hydraulic model according to the kinematic wave, diffusive wave and inertial assumptions.', ) - rtc_hydrologicalModel: Optional[RtcHydrologicalModelComplexType] = Field( + hydrologicalModel: Optional[HydrologicalModelComplexType] = Field( None, - alias='rtc:hydrologicalModel', description='Modular, conceptual hydrological model with implicit time stepping scheme.', ) - rtc_lookup2DTable: Optional[RtcLookup2DTableComplexType] = Field( - None, alias='rtc:lookup2DTable' - ) - rtc_lookupTable: Optional[RtcLookupTableComplexType] = Field( - None, alias='rtc:lookupTable' - ) - rtc_lorentGevers: Optional[RtcLorentGeversComplexType] = Field( - None, alias='rtc:lorentGevers', description='Lorent/Gevers hydrological model' + lookup2DTable: Optional[Lookup2DTableComplexType] = None + lookupTable: Optional[LookupTableComplexType] = None + lorentGevers: Optional[LorentGeversComplexType] = Field( + None, description='Lorent/Gevers hydrological model' ) - rtc_merger: Optional[RtcMergerComplexType] = Field(None, alias='rtc:merger') - rtc_mergerSplitter: Optional[RtcMergerSplitterComplexType] = Field( - None, alias='rtc:mergerSplitter' + merger: Optional[MergerComplexType] = None + mergerSplitter: Optional[MergerSplitterComplexType] = None + neuralNetwork: Optional[NeuralNetworkComplexType] = None + reservoir: Optional[ReservoirComplexType] = Field( + None, description='Reservoir with arbitrary number of inlets and outlets.' ) - rtc_neuralNetwork: Optional[RtcNeuralNetworkComplexType] = Field( - None, alias='rtc:neuralNetwork' - ) - rtc_reservoir: Optional[RtcReservoirComplexType] = Field( - None, - alias='rtc:reservoir', - description='Reservoir with arbitrary number of inlets and outlets.', - ) - rtc_reservoirCompact: Optional[RtcReservoirCompactComplexType] = Field( + reservoirCompact: Optional[ReservoirCompactComplexType] = Field( None, - alias='rtc:reservoirCompact', description='Test implementation of a compact reservoir class for simultaneous and sequential optimization mode', ) - rtc_routing: Optional[RtcRoutingComplexType] = Field( - None, alias='rtc:routing', description='not implemented yet' + routing: Optional[RoutingComplexType] = Field( + None, description='not implemented yet' ) - rtc_srm: Optional[RtcSRMComplexType] = Field(None, alias='rtc:srm') - rtc_unitDelay: Optional[RtcUnitDelayComplexType] = Field( + srm: Optional[SRMComplexType] = None + unitDelay: Optional[UnitDelayComplexType] = Field( None, - alias='rtc:unitDelay', description='Unit delay operator for delaying a value by n times the time step of the model.', ) - rtc_unitHydrograph: Optional[RtcUnitHydrographComplexType] = Field( - None, alias='rtc:unitHydrograph', description='Unit hydrograph' + unitHydrograph: Optional[UnitHydrographComplexType] = Field( + None, description='Unit hydrograph' ) -class RtcComponentsComplexType(BaseModel): +class ComponentsComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_component: List[RtcComponentComplexType] = Field( - ..., alias='rtc:component', min_items=1 - ) + component: List[ComponentComplexType] = Field(..., min_items=1) -class Model(BaseModel): +class Model(RtcBaseModel): """ JSON Schema generated by XMLSpy v2019 rel. 3 sp1 (x64) (http://www.altova.com) """ @@ -4613,357 +3967,298 @@ class Config: extra = Extra.forbid allow_population_by_field_name = True - _xmlns_rtc: Optional[Any] = Field('http://www.wldelft.nl/fews', alias='@xmlns:rtc') - _xmlns_xs: Optional[Any] = Field( - 'http://www.w3.org/2001/XMLSchema', alias='@xmlns:xs' + attr_xmlns_rtc: Optional[Any] = Field( + 'http://www.wldelft.nl/fews', alias='attr_xmlns:rtc' ) - rtc_rtcToolsConfig: Optional[_.RtcRtcToolsConfig] = Field( - None, alias='rtc:rtcToolsConfig' + attr_xmlns_xs: Optional[Any] = Field( + 'http://www.w3.org/2001/XMLSchema', alias='attr_xmlns:xs' ) + rtcToolsConfig: Optional[_.RtcToolsConfig] = None -class RtcDeadBandTimeComplexType(BaseModel): +class DeadBandTimeComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_discrete: RtcDeadBandTimeDiscreteComplexType = Field(..., alias='rtc:discrete') - rtc_false: Optional[RtcRuleTriggerComplexType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + discrete: DeadBandTimeDiscreteComplexType + false: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:false', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_input: RtcDeadBandTimeInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcDeadBandTimeOutputComplexType = Field(..., alias='rtc:output') - rtc_true: Optional[RtcRuleTriggerComplexType] = Field( + input: DeadBandTimeInputComplexType + output: DeadBandTimeOutputComplexType + true: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:true', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) -class RtcDeadBandTriggerComplexType(BaseModel): +class DeadBandTriggerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_conditionOff: RtcRelationalConditionComplexType = Field( - ..., alias='rtc:conditionOff' - ) - rtc_conditionOn: RtcRelationalConditionComplexType = Field( - ..., alias='rtc:conditionOn' - ) - rtc_default: Optional[XsBoolean] = Field(None, alias='rtc:default') - rtc_false: Optional[RtcRuleTriggerComplexType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + conditionOff: RelationalConditionComplexType + conditionOn: RelationalConditionComplexType + default: Optional[XsBoolean] = None + false: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:false', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_output: RtcTriggerOutputComplexType = Field(..., alias='rtc:output') - rtc_true: Optional[RtcRuleTriggerComplexType] = Field( + output: TriggerOutputComplexType + true: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:true', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) -class RtcPolygonLookupComplexType(BaseModel): +class PolygonLookupComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_default: Optional[XsDouble] = Field(None, alias='rtc:default') - rtc_false: Optional[RtcRuleTriggerComplexType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + default: Optional[XsDouble] = None + false: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:false', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_input: RtcPolygonLookupInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcPolygonLookupOutputComplexType = Field(..., alias='rtc:output') - rtc_polygons: RtcPolygonsComplexType = Field(..., alias='rtc:polygons') - rtc_true: Optional[RtcRuleTriggerComplexType] = Field( + input: PolygonLookupInputComplexType + output: PolygonLookupOutputComplexType + polygons: PolygonsComplexType + true: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:true', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) -class RtcRtcToolsConfigComplexType(BaseModel): +class RtcToolsConfigComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_components: Optional[RtcComponentsComplexType] = Field( - None, - alias='rtc:components', - description='The components section includes all simulation components.', + components: Optional[ComponentsComplexType] = Field( + None, description='The components section includes all simulation components.' ) - rtc_general: Optional[RtcGeneralModuleConfigComplexType] = Field( + general: Optional[GeneralModuleConfigComplexType] = Field( None, - alias='rtc:general', description='OBSOLETE. Still here for backwards compatibility. Remove after next release.', ) - rtc_rules: Optional[RtcRulesComplexType] = Field( + rules: Optional[RulesComplexType] = Field( None, - alias='rtc:rules', description='The rules section includes operating rules or controllers for defining the release of reservoir, structural settings of gates etc.', ) - rtc_triggers: Optional[RtcTriggersComplexType] = Field( + triggers: Optional[TriggersComplexType] = Field( None, - alias='rtc:triggers', description='Triggers may activate or deactivate rules defined in the section above.', ) -class RtcRuleComplexType(BaseModel): +class RuleComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_constant: Optional[RtcConstantRuleComplexType] = Field( - None, alias='rtc:constant', description='Simple rule with constant value' + constant: Optional[ConstantRuleComplexType] = Field( + None, description='Simple rule with constant value' ) - rtc_dateLookupTable: Optional[RtcDateLookupTableComplexType] = Field( + dateLookupTable: Optional[DateLookupTableComplexType] = Field( None, - alias='rtc:dateLookupTable', description='Date lookup table, output y is a function of date and an input value x, the interpolation on the date / value axis can be BLOCK or LINEAR, the number of records should be constant for each date record', ) - rtc_deadBandTime: Optional[RtcDeadBandTimeComplexType] = Field( - None, alias='rtc:deadBandTime' - ) - rtc_deadBandValue: Optional[RtcDeadBandValueComplexType] = Field( + deadBandTime: Optional[DeadBandTimeComplexType] = None + deadBandValue: Optional[DeadBandValueComplexType] = Field( None, - alias='rtc:deadBandValue', description='Deadband threshold, yNew will become yOld, if the change yNew-yOld is smaller than the threshold value ', ) - rtc_dedicated_Aebi: Optional[RtcAebiRuleComplexType] = Field( + dedicated_Aebi: Optional[AebiRuleComplexType] = Field( None, - alias='rtc:dedicated-Aebi', + alias='dedicated-Aebi', description='Dedicated rule for the control of Bielersee, Canton Bern, CH', ) - rtc_dedicated_Thunersee: Optional[RtcThunerseeRuleComplexType] = Field( + dedicated_Thunersee: Optional[ThunerseeRuleComplexType] = Field( None, - alias='rtc:dedicated-Thunersee', + alias='dedicated-Thunersee', description='Dedicated rule for the control of Thunersee, Canton Bern, CH', ) - rtc_expression: Optional[RtcExpressionComplexType] = Field( - None, alias='rtc:expression', description='mathematical expression' + expression: Optional[ExpressionComplexType] = Field( + None, description='mathematical expression' ) - rtc_guideband: Optional[RtcGuideBandRuleComplexType] = Field( + guideband: Optional[GuideBandRuleComplexType] = Field( None, - alias='rtc:guideband', description='Guide band rule, output get 0 if input less equal xMin, 1 if input greater equal xMax, linear interpolation otherwise xMin and xMax can be a function of date, main application in combination with a relative release of a reservoir outlet', ) - rtc_interval: Optional[RtcIntervalComplexType] = Field(None, alias='rtc:interval') - rtc_limiter: Optional[RtcLimiterComplexType] = Field( + interval: Optional[IntervalComplexType] = None + limiter: Optional[LimiterComplexType] = Field( None, - alias='rtc:limiter', description='Limiter for limiting the change of a variable in a time step to a relative (PERCENTAGE) or absolute (ABSOLUTE) change', ) - rtc_lookup2DTable: Optional[RtcLookup2DTableComplexType] = Field( - None, alias='rtc:lookup2DTable' + lookup2DTable: Optional[Lookup2DTableComplexType] = None + lookupTable: Optional[LookupTableComplexType] = None + merger: Optional[MergerComplexType] = Field( + None, description='Data hierarchy, highest input has highest priority' ) - rtc_lookupTable: Optional[RtcLookupTableComplexType] = Field( - None, alias='rtc:lookupTable' + pid: Optional[PidComplexType] = None + timeAbsolute: Optional[TimeAbsoluteComplexType] = Field( + None, description='absolute time controller' ) - rtc_merger: Optional[RtcMergerComplexType] = Field( - None, - alias='rtc:merger', - description='Data hierarchy, highest input has highest priority', + timeRelative: Optional[TimeRelativeComplexType] = Field( + None, description='relative time controller' ) - rtc_pid: Optional[RtcPidComplexType] = Field(None, alias='rtc:pid') - rtc_timeAbsolute: Optional[RtcTimeAbsoluteComplexType] = Field( - None, alias='rtc:timeAbsolute', description='absolute time controller' - ) - rtc_timeRelative: Optional[RtcTimeRelativeComplexType] = Field( - None, alias='rtc:timeRelative', description='relative time controller' - ) - rtc_unitDelay: Optional[RtcUnitDelayComplexType] = Field( + unitDelay: Optional[UnitDelayComplexType] = Field( None, - alias='rtc:unitDelay', description='Unit delay operator for delaying a value by n times the time step of the model.', ) -class RtcRuleTriggerComplexType(BaseModel): +class RuleTriggerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_trigger: Optional[List[RtcTriggerComplexType]] = Field( - None, alias='rtc:trigger' - ) + trigger: Optional[List[TriggerComplexType]] = None -class RtcRulesComplexType(BaseModel): +class RulesComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_rule: List[RtcRuleComplexType] = Field(..., alias='rtc:rule', min_items=1) + rule: List[RuleComplexType] = Field(..., min_items=1) -class RtcSetTriggerComplexType(BaseModel): +class SetTriggerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_default: Optional[XsBoolean] = Field(None, alias='rtc:default') - rtc_false: Optional[RtcRuleTriggerComplexType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + default: Optional[XsBoolean] = None + false: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:false', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_logicalOperator: RtcLogicalOperatorEnumStringType = Field( - ..., alias='rtc:logicalOperator' - ) - rtc_output: RtcTriggerOutputComplexType = Field(..., alias='rtc:output') - rtc_true: Optional[RtcRuleTriggerComplexType] = Field( + logicalOperator: LogicalOperatorEnumStringType + output: TriggerOutputComplexType + true: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:true', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_x1Series: Optional[rtc_TimeSeriesSimpleType.Field24] = Field( - None, alias='rtc:x1Series' - ) - rtc_x1Trigger: Optional[RtcTriggerComplexType] = Field(None, alias='rtc:x1Trigger') - rtc_x1Value: Optional[XsBoolean] = Field(None, alias='rtc:x1Value') - rtc_x2Series: Optional[rtc_TimeSeriesSimpleType.Field25] = Field( - None, alias='rtc:x2Series' - ) - rtc_x2Trigger: Optional[RtcTriggerComplexType] = Field(None, alias='rtc:x2Trigger') - rtc_x2Value: Optional[XsBoolean] = Field(None, alias='rtc:x2Value') + x1Series: Optional[TimeSeriesSimpleType.Field24] = None + x1Trigger: Optional[TriggerComplexType] = None + x1Value: Optional[XsBoolean] = None + x2Series: Optional[TimeSeriesSimpleType.Field25] = None + x2Trigger: Optional[TriggerComplexType] = None + x2Value: Optional[XsBoolean] = None -class RtcSpreadsheetComplexType(BaseModel): +class SpreadsheetComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_defaultInputValue: Optional[XsDouble] = Field( - None, - alias='rtc:defaultInputValue', - description='default input value, if input is NaN or infinity', + attr_id: XsString + attr_name: Optional[XsString] = None + defaultInputValue: Optional[XsDouble] = Field( + None, description='default input value, if input is NaN or infinity' ) - rtc_defaultOutputValue: Optional[XsDouble] = Field( - None, - alias='rtc:defaultOutputValue', - description='default output, if no combination of the table applies', + defaultOutputValue: Optional[XsDouble] = Field( + None, description='default output, if no combination of the table applies' ) - rtc_false: Optional[RtcRuleTriggerComplexType] = Field( + false: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:false', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_input: RtcSpreadsheetInputComplexType = Field(..., alias='rtc:input') - rtc_output: RtcSpreadsheetOutputComplexType = Field(..., alias='rtc:output') - rtc_tables: RtcSpreadsheetTablesComplexType = Field( + input: SpreadsheetInputComplexType + output: SpreadsheetOutputComplexType + tables: SpreadsheetTablesComplexType = Field( ..., - alias='rtc:tables', description='number of tables with input, output values, the initial state can be taken into account optionally', ) - rtc_tolerance: XsDouble = Field( + tolerance: XsDouble = Field( ..., - alias='rtc:tolerance', description='tolerance for finding a match, keep in mind that the all variable are stored in doubles', ) - rtc_true: Optional[RtcRuleTriggerComplexType] = Field( + true: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:true', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_validPeriods: Optional[RtcValidPeriodsComplexType] = Field( - None, - alias='rtc:validPeriods', - description='optional period of the year for which the trigger is active', + validPeriods: Optional[ValidPeriodsComplexType] = Field( + None, description='optional period of the year for which the trigger is active' ) -class RtcStandardTriggerComplexType(BaseModel): +class StandardTriggerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - _id: XsString = Field(..., alias='@id') - _name: Optional[XsString] = Field(None, alias='@name') - rtc_condition: RtcRelationalConditionComplexType = Field(..., alias='rtc:condition') - rtc_default: Optional[XsBoolean] = Field(None, alias='rtc:default') - rtc_false: Optional[RtcRuleTriggerComplexType] = Field( + attr_id: XsString + attr_name: Optional[XsString] = None + condition: RelationalConditionComplexType + default: Optional[XsBoolean] = None + false: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:false', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) - rtc_output: RtcTriggerOutputComplexType = Field(..., alias='rtc:output') - rtc_true: Optional[RtcRuleTriggerComplexType] = Field( + output: TriggerOutputComplexType + true: Optional[RuleTriggerComplexType] = Field( None, - alias='rtc:true', description='link the trigger event to either an other trigger or to a rule. Use the item ID as link to rules', ) -class RtcTriggerComplexType(BaseModel): +class TriggerComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_deadBand: Optional[RtcDeadBandTriggerComplexType] = Field( - None, alias='rtc:deadBand', description='trigger with deadband' + deadBand: Optional[DeadBandTriggerComplexType] = Field( + None, description='trigger with deadband' ) - rtc_deadBandTime: Optional[RtcDeadBandTimeComplexType] = Field( - None, alias='rtc:deadBandTime', description='trigger with time deadband' + deadBandTime: Optional[DeadBandTimeComplexType] = Field( + None, description='trigger with time deadband' ) - rtc_expression: Optional[RtcExpressionComplexType] = Field( - None, alias='rtc:expression', description='mathematical expression' + expression: Optional[ExpressionComplexType] = Field( + None, description='mathematical expression' ) - rtc_lookupTable: Optional[RtcLookupTableComplexType] = Field( - None, alias='rtc:lookupTable' + lookupTable: Optional[LookupTableComplexType] = None + merger: Optional[MergerComplexType] = Field( + None, description='Data hierarchy, highest input has highest priority' ) - rtc_merger: Optional[RtcMergerComplexType] = Field( + polygonLookup: Optional[PolygonLookupComplexType] = Field( None, - alias='rtc:merger', - description='Data hierarchy, highest input has highest priority', - ) - rtc_polygonLookup: Optional[RtcPolygonLookupComplexType] = Field( - None, - alias='rtc:polygonLookup', description='trigger with two-dimensional lookup table, trigger results are defined by polygons', ) - rtc_ruleReference: Optional[XsString] = Field(None, alias='rtc:ruleReference') - rtc_set: Optional[RtcSetTriggerComplexType] = Field( - None, alias='rtc:set', description='set of triggers' + ruleReference: Optional[XsString] = None + set: Optional[SetTriggerComplexType] = Field(None, description='set of triggers') + spreadsheet: Optional[SpreadsheetComplexType] = Field( + None, description='spread sheet trigger' ) - rtc_spreadsheet: Optional[RtcSpreadsheetComplexType] = Field( - None, alias='rtc:spreadsheet', description='spread sheet trigger' - ) - rtc_standard: Optional[RtcStandardTriggerComplexType] = Field( - None, alias='rtc:standard', description='standard trigger' + standard: Optional[StandardTriggerComplexType] = Field( + None, description='standard trigger' ) -class RtcTriggersComplexType(BaseModel): +class TriggersComplexType(RtcBaseModel): class Config: extra = Extra.forbid allow_population_by_field_name = True - rtc_trigger: List[RtcTriggerComplexType] = Field( - ..., alias='rtc:trigger', min_items=1 - ) + trigger: List[TriggerComplexType] = Field(..., min_items=1) Model.update_forward_refs() -RtcDeadBandTimeComplexType.update_forward_refs() -RtcDeadBandTriggerComplexType.update_forward_refs() -RtcPolygonLookupComplexType.update_forward_refs() -RtcRtcToolsConfigComplexType.update_forward_refs() -RtcRuleTriggerComplexType.update_forward_refs() -RtcSetTriggerComplexType.update_forward_refs() +DeadBandTimeComplexType.update_forward_refs() +DeadBandTriggerComplexType.update_forward_refs() +PolygonLookupComplexType.update_forward_refs() +RtcToolsConfigComplexType.update_forward_refs() +RuleTriggerComplexType.update_forward_refs() +SetTriggerComplexType.update_forward_refs()