Skip to content

study_settings

Classes:

StudySettings dataclass

StudySettings(
    general_parameters: GeneralParameters = GeneralParameters(),
    optimization_parameters: OptimizationParameters = OptimizationParameters(),
    advanced_parameters: AdvancedParameters = AdvancedParameters(),
    seed_parameters: SeedParameters = SeedParameters(),
    adequacy_patch_parameters: AdequacyPatchParameters = AdequacyPatchParameters(),
    thematic_trimming_parameters: ThematicTrimmingParameters = ThematicTrimmingParameters(),
    playlist_parameters: dict[int, PlaylistParameters] = dict(),
)

Study settings.

Group the settings of the different tab inside the CONFIGURATION tab of Antares UI.

Attributes:

Methods:

  • from_update_settings

    Creates a new StudySettings instance by applying partial updates.

  • to_update_settings

    Converts the current StudySettings instance into a StudySettingsUpdate object.

from_update_settings

Creates a new StudySettings instance by applying partial updates.

Parameters:

  • update_settings

    (StudySettingsUpdate) –

    Object containing the parameters to update. Only non-None fields will be applied.

Returns:

  • StudySettings

    A new StudySettings instance with the merged parameters.

Source code in src/antares/craft/model/settings/study_settings.py
def from_update_settings(self, update_settings: StudySettingsUpdate) -> "StudySettings":
    """Creates a new `StudySettings` instance by applying partial updates.

    Args:
        update_settings: Object containing the parameters to update.
            Only non-`None` fields will be applied.

    Returns:
        A new `StudySettings` instance with the merged parameters.
    """
    current_settings = asdict(self)
    for key, values in asdict(update_settings).items():
        if values is not None:
            for inner_key, inner_value in values.items():
                if inner_value is not None:
                    current_settings[key][inner_key] = inner_value

    general_parameters = GeneralParameters(**current_settings["general_parameters"])
    optimization_parameters = OptimizationParameters(**current_settings["optimization_parameters"])
    advanced_parameters = AdvancedParameters(**current_settings["advanced_parameters"])
    seed_parameters = SeedParameters(**current_settings["seed_parameters"])
    adequacy_patch_parameters = AdequacyPatchParameters(**current_settings["adequacy_patch_parameters"])
    thematic_trimming_parameters = ThematicTrimmingParameters(**current_settings["thematic_trimming_parameters"])
    playlist_parameters: dict[int, PlaylistParameters] = {}
    for year in current_settings["playlist_parameters"]:
        playlist_parameters[year] = PlaylistParameters(**current_settings["playlist_parameters"][year])

    return StudySettings(
        general_parameters,
        optimization_parameters,
        advanced_parameters,
        seed_parameters,
        adequacy_patch_parameters,
        thematic_trimming_parameters,
        playlist_parameters,
    )

to_update_settings

to_update_settings() -> StudySettingsUpdate

Converts the current StudySettings instance into a StudySettingsUpdate object.

Returns:

  • StudySettingsUpdate

    Object containing only modifiable parameters, initialized with current values.

Source code in src/antares/craft/model/settings/study_settings.py
def to_update_settings(self) -> StudySettingsUpdate:
    """Converts the current `StudySettings` instance into a `StudySettingsUpdate` object.

    Returns:
        Object containing only modifiable parameters, initialized with current values.
    """
    current_settings = asdict(self)
    general_parameters = GeneralParametersUpdate(**current_settings["general_parameters"])
    optimization_parameters = OptimizationParametersUpdate(**current_settings["optimization_parameters"])
    advanced_parameters = AdvancedParametersUpdate(**current_settings["advanced_parameters"])
    seed_parameters = SeedParametersUpdate(**current_settings["seed_parameters"])
    adequacy_patch_parameters = AdequacyPatchParametersUpdate(**current_settings["adequacy_patch_parameters"])

    return StudySettingsUpdate(
        general_parameters, optimization_parameters, advanced_parameters, seed_parameters, adequacy_patch_parameters
    )

StudySettingsUpdate dataclass

StudySettingsUpdate(
    general_parameters: Optional[GeneralParametersUpdate] = None,
    optimization_parameters: Optional[OptimizationParametersUpdate] = None,
    advanced_parameters: Optional[AdvancedParametersUpdate] = None,
    seed_parameters: Optional[SeedParametersUpdate] = None,
    adequacy_patch_parameters: Optional[AdequacyPatchParametersUpdate] = None,
)

Update study settings.

See the class StudySettings for details about the parameters.