Example #1
0
def find_json(name, model_spec):
    if model_spec is None:
        name = short_name[name]
        model_spec = get_xija_model_file(name)
    elif not os.path.exists(model_spec):
        raise IOError("The JSON file %s does not exist!" % model_spec)
    return model_spec
Example #2
0
def calc_ccd_model(start, stop):
    start = DateTime(start)
    stop = DateTime(stop)
    model_spec = chandra_models.get_xija_model_file('aca')

    # Initially propagate model for three days prior to estimate aca0 value
    model = xija.XijaModel('aca', model_spec=model_spec, start=start - 3, stop=stop)
    dat = fetch.Msid('aacccdpt', start - 3, start - 2, stat='5min')
    model.comp['aca0'].set_data(float(dat.vals[0]))
    model.make()
    model.calc()

    return model
Example #3
0
def aca_ccd_model(tstart, tstop, init_temp):
    cmd_states = get_cmd_states.fetch_states(tstart,
                                             tstop,
                                             vals=['obsid',
                                                   'pitch',
                                                   'q1', 'q2', 'q3', 'q4'])
    model_spec = chandra_models.get_xija_model_file('aca')
    model = xija.ThermalModel('aca', start=tstart, stop=tstop, model_spec=model_spec)
    times = np.array([cmd_states['tstart'], cmd_states['tstop']])
    model.comp['pitch'].set_data(cmd_states['pitch'], times)
    model.comp['aca0'].set_data(init_temp, tstart)
    model.comp['aacccdpt'].set_data(init_temp, tstart)
    model.make()
    model.calc()
    return model