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
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
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