def Mode121_122_123_settings(self):
        """Returns settings shared between Mode121-123.

        **Keys in returned dict:**
            'pointing_altitude': Sets in meters the altitude of the pointing command. (int) \n
            'H_FOV': Used only in *Timeline_gen*. Sets full Horizontal FOV of the Limb instrument in degrees. Used to determine if stars are visible. (float) \n
            'V_FOV': Used only in *Timeline_gen*. Sets full Vertical FOV of the Limb instrument in degrees. Used to determine if stars are visible. (float) \n
            'TimeToConsider': Used only in *Timeline_gen*. Sets the time in seconds for which scheduling is considered. Used to plan calibration at the start of each timeline (useful as TLE accuracy deteriorates). Drastically affects simulation time at the cost of fewer time slots being considered. (int) \n
            'Vmag': Used only in *Timeline_gen*. Sets the Johnson V magnitude of stars to be considered (as a string expression, example '<2'). Drastically changes the runtime. \n
            'timestep': Used only in *Timeline_gen*. Set timestep used in scheduling simulation [s]. Will impact scheduling accuracy. (int) \n
            'TimeSkip': Used only in *Timeline_gen*. Set the amount of seconds to skip ahead after one complete orbit is simulated. Will drastically change the runtime of the simulation. (float) \n
            'log_timestep': Used only in *Timeline_gen*. Sets the timestep of data being logged [s]. Only determines how much of simulated data is logged for debugging purposes. (int) \n
            'freeze_start': Sets in seconds, the time from start of the Mode to when the attitude freezes. Part in determining the estimated duration of the mode. (int) \n
            'freeze_duration': Sets in seconds the duration of the attitude freeze. Part in determining the estimated duration of the mode. If set to 0, it will be estimated to a
            value corresponding to the attitude being frozen until realigned with *Timeline_settings['StandardPointingAltitude']* (Normally around 50 s). (int) \n
            'SnapshotTime': Sets in seconds the time, from the start of the attitude freeze, to when the first Snapshot is taken. (int) \n
            'SnapshotSpacing': Sets in seconds the time inbetween Snapshots with individual CCDs. Needs to be larger than any CCD ReadoutTimes to avoid streaks. (int)

        Returns:
            (:obj:`dict`): settings

        """

        if self.OPT_Config_File["Mode121_122_123_settings"][
                "freeze_duration"] == 0:
            self.OPT_Config_File["Mode121_122_123_settings"][
                "freeze_duration"] = Library.FreezeDuration_calculator(
                    self.OPT_Config_File["Timeline_settings"]
                    ["StandardPointingAltitude"],
                    self.OPT_Config_File["Mode121_122_123_settings"]
                    ["pointing_altitude"],
                    self.getTLE()[1],
                )

        return self.OPT_Config_File["Mode121_122_123_settings"]
    def Mode124_settings(self):
        """Returns settings related to Mode124.

        **Keys in returned dict:**
            'pointing_altitude': Sets in meters the altitude of the pointing command. (int) \n
            'V_offset': Used only in *Timeline_gen*. Sets the Vertical-offset angle (position in FOV) in degrees for the Moon to pass, for when the attitude freeze command is scheduled.
            Multiple values can be set but additional values will only be used when Mode124 is scheduled several times. (list of int) \n
            'H_offset': Used only in *Timeline_gen*. Sets the maximum H-offset angle from the optical axis in degrees that determines if the Moon is available. (float) \n
            'TimeToConsider': Used only in *Timeline_gen*. Sets the time in seconds for which scheduling is considered. Used to plan calibration at the start of each timeline (useful as TLE accuracy deteriorates). Drastically affects simulation time at the cost of fewer time slots being considered. (int) \n
            'timestep':  Used only in *Timeline_gen*. Sets in seconds the timestep during scheduling simulation [s]. Will impact scheduling accuracy. (int) \n
            'log_timestep': Used only in *Timeline_gen*. Sets the timestep of data being logged [s]. Only determines how much of simulated data is logged for debugging purposes. (int) \n
            'automatic':  Used only in *Timeline_gen*. Sets if the mode date is to be calculated or user provided. True for calculated or False for user provided. (bool) \n
            'start_date':  Note! only applies if *automatic* is set to False. Used only in *Timeline_gen*. Sets the scheduled date for the mode as a str, (example: '2018/9/3 08:00:40'). If set to '0', Timeline_settings['start_date'] will be used. \n
            'freeze_start': Sets in seconds the time from start of the Mode to when the attitude freeze command is scheduled. Part in determining the estimated duration of the mode. (int) \n
            'freeze_duration': Sets in seconds the duration of the attitude freeze. Part in determining the estimated duration of the mode. If set to 0, it will be estimated to a
            value corresponding to the attitude being frozen until realigned with *Timeline_settings['StandardPointingAltitude']*. (int) \n
            'SnapshotTime': Sets in seconds the time, from the start of the attitude freeze, to when the first Snapshot is taken. (int) \n
            'SnapshotSpacing': Sets in seconds the time inbetween Snapshots with individual CCDs. Needs to be larger than any CCD ReadoutTimes to avoid streaks. (int) \n
            'CCDSELs': List of CCDSEL arguments (except nadir) for which to take snapshots with. (list of int)

        Returns:
            (:obj:`dict`): settings

        """
        if self.OPT_Config_File["Mode124_settings"]["freeze_duration"] == 0:
            self.OPT_Config_File["Mode124_settings"][
                "freeze_duration"] = Library.FreezeDuration_calculator(
                    self.OPT_Config_File["Timeline_settings"]
                    ["StandardPointingAltitude"],
                    self.OPT_Config_File["Mode124_settings"]
                    ["pointing_altitude"],
                    self.getTLE()[1],
                )

        return self.OPT_Config_File["Mode124_settings"]
    def Mode120_settings(self):
        """Returns settings related to Mode120.

        **Keys in returned dict:**
            'pointing_altitude': Sets in meters the altitude of the pointing command. (int) \n
            'V_offset': Used only in *Timeline_gen*. Sets the Vertical-offset angle (position in FOV) in degrees for the star to have passed, when the attitude freeze command is scheduled.
            Multiple values can be set but additional values will only be used when Mode120 is scheduled several times. (list of int) \n
            'H_offset': Used only in *Timeline_gen*. Sets the maximum Horizontal-offset angle in degrees that determines if stars are visible. (int) \n
            'Vmag': Used only in *Timeline_gen*. Sets the Johnson V magnitude of stars to be considered (as a string expression, example '<2'). Drastically changes the runtime. \n
            'TimeToConsider': Used only in *Timeline_gen*. Sets the time in seconds for which scheduling is considered. Used to plan star calibration at the start of each timeline (useful as TLE accuracy deteriorates). Drastically affects simulation time. (int) \n
            'timestep': Used only in *Timeline_gen*. Sets timestep used in scheduling simulation [s]. Will impact scheduling accuracy. (int) \n
            'TimeSkip': Used only in *Timeline_gen*. Set the amount of seconds to skip ahead after one complete orbit is simulated. Will drastically change the runtime of the simulation. (int) \n
            'log_timestep': Used only in *Timeline_gen*. Sets the timestep of data being logged [s]. Only determines how much of simulated data is logged for debugging purposes.. (int) \n
            'automatic': Used only in *Timeline_gen*. Sets if 'start_date' will be calculated or user provided. True for calculated and False for user provided. (bool) \n
            'start_date':  Note! only applies if *automatic* is set to False. Used only in *Timeline_gen*. Sets the scheduled date for the mode as a str, (example: '2018/9/3 08:00:40'). If set to '0', Timeline_settings['start_date'] will be used. \n
            'freeze_start': Sets in seconds the time from start of the Mode to when the attitude freezes. Part in determining the estimated duration of the mode. (int) \n
            'freeze_duration': Sets in seconds the duration of the attitude freeze. Part in determining the estimated duration of the mode. If set to 0, it will be estimated to a
            value corresponding to the attitude being frozen until realigned with *Timeline_settings['StandardPointingAltitude']* (Normally around 50 s). (int) \n
            'SnapshotTime': Sets in seconds the time, from the start of the attitude freeze, to when the first Snapshot is taken. (int) \n
            'SnapshotSpacing': Sets in seconds the time inbetween Snapshots with individual CCDs. (int) \n
            'CCDSELs': List of CCDSEL arguments (except nadir) for which to take snapshots with. (list of int)

        Returns:
            (:obj:`dict`): settings

        """
        if self.OPT_Config_File["Mode120_settings"]["freeze_duration"] == 0:
            self.OPT_Config_File["Mode120_settings"][
                "freeze_duration"] = Library.FreezeDuration_calculator(
                    self.OPT_Config_File["Timeline_settings"]
                    ["StandardPointingAltitude"],
                    self.OPT_Config_File["Mode120_settings"]
                    ["pointing_altitude"],
                    self.getTLE()[1],
                )

        return self.OPT_Config_File["Mode120_settings"]