PredictExpMeterParameters

Bases: KPFTranslatorFunction

Estimate the proper exposure meter exposure time given the stellar Gmag.

Parameters:
  • Gmag (float) –

    The Gaia g magnitude of the target.

Source code in kpf/expmeter/PredictExpMeterParameters.py
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
class PredictExpMeterParameters(KPFTranslatorFunction):
    '''Estimate the proper exposure meter exposure time given the stellar Gmag.

    Args:
        Gmag (float): The Gaia g magnitude of the target.
    '''
    @classmethod
    def pre_condition(cls, args, logger, cfg):
        check_input(args, 'Gmag', allowed_types=[int, float])

    @classmethod
    def perform(cls, args, logger, cfg):
        Gmag = args.get('Gmag')
        if Gmag < 4.0:
            exptime = 0.5
        elif Gmag < 9.0:
            exptime = 1.0
        elif Gmag < 11.0:
            exptime = 2.0
        elif Gmag < 13.0:
            exptime = 4.0
        elif Gmag < 15.0:
            exptime = 8.0
        else:
            exptime = 16.0
        log.info(f"Predicted ExpMeterExpTime = {exptime:.1f} s")
        return {'ExpMeterExpTime': exptime}

    @classmethod
    def post_condition(cls, args, logger, cfg):
        pass

    @classmethod
    def add_cmdline_args(cls, parser, cfg=None):
        parser.add_argument('Gmag', type=float,
                            help="The Gaia g magnitude of the target")
        return super().add_cmdline_args(parser, cfg)