Make the ACA penalty limit from the chandra_models aca_spec.json file be optional. This also makes the ACA planning limit optional for proseco, though it is still needed in other tools.
If not provided there is no penalty limit and the effective CCD temperature is the same as the actual (predicted) temperature. In this case the t_ccd_penalty_limit attribute of an ACA catalog is None.
This PR also transitions to using ska_helpers.chandra_models to get the chandra_models data. This is helpful to enable testing using the CHANDRA_MODELS_REPO_DIR and CHANDRA_MODELS_DEFAULT_VERSION env vars.
Interface impacts
CHANDRA_MODELS_REPO_DIR and CHANDRA_MODELS_DEFAULT_VERSION env vars now work with proseco for selection of the aca thermal model for limits. Those vars already worked to define the acquisition model used within proseco via chandra_aca.
Testing
Unit tests
[x] Mac
Independent check of unit tests by Jean
[x] Linux
Functional tests
chandra_models update
Starting from chandra_models version 3.49, I made a new branch no-penalty-limit and edited chandra_models/xija/aca/aca_spec.json to remove the penalty limit.
$ export CHANDRA_MODELS_REPO_DIR=/Users/aldcroft/tmp/chandra_models
$ export CHANDRA_MODELS_DEFAULT_VERSION=no-penalty-limit
$ ipython
In [1]: from proseco.tests.test_common import mod_std_info
In [2]: from proseco import get_aca_catalog
In [3]: aca = get_aca_catalog(**mod_std_info(t_ccd=-2.0))
In [4]: aca.t_ccd_acq
Out[4]: -2.0
In [5]: aca.t_ccd_eff_acq
Out[5]: -2.0
In [6]: print(aca.t_ccd_penalty_limit)
None
In [7]: import proseco.characteristics as ACA
In [8]: ACA.chandra_models_version
Out[8]: 'no-penalty-limit'
In [9]: ACA.aca_t_ccd_planning_limit
Out[9]: -4.5
In [10]: print(ACA.aca_t_ccd_penalty_limit)
None
Description
Make the ACA penalty limit from the chandra_models
aca_spec.json
file be optional. This also makes the ACA planning limit optional for proseco, though it is still needed in other tools.If not provided there is no penalty limit and the effective CCD temperature is the same as the actual (predicted) temperature. In this case the
t_ccd_penalty_limit
attribute of an ACA catalog isNone
.This PR also transitions to using
ska_helpers.chandra_models
to get the chandra_models data. This is helpful to enable testing using theCHANDRA_MODELS_REPO_DIR
andCHANDRA_MODELS_DEFAULT_VERSION
env vars.Interface impacts
CHANDRA_MODELS_REPO_DIR
andCHANDRA_MODELS_DEFAULT_VERSION
env vars now work with proseco for selection of the aca thermal model for limits. Those vars already worked to define the acquisition model used within proseco via chandra_aca.Testing
Unit tests
Independent check of unit tests by Jean
Functional tests
chandra_models update
Starting from chandra_models version 3.49, I made a new branch
no-penalty-limit
and editedchandra_models/xija/aca/aca_spec.json
to remove the penalty limit.Simple test