Running a Thermal Model with acis_thermal_check

acis_thermal_check models are adapted to each use case and run from the command line. This section provides a brief description on how to run the models, including what the various options are.

Where to Run the Models From

These models are run from a “Ska” Python stack. It can be one already installed or it can be one you installed yourself.

To run as acisdude on the HEAD LAN, simply issue the command setska in the terminal. If you want to run as yourself and you do not have this alias, you can set it up in your startup file:

# for csh/tsch

alias setska 'eval `/proj/sot/ska3/flight/bin/flt_envs -shell tcsh -ska`'

# for bash/zsh

alias setska='eval `/proj/sot/ska3/flight/bin/flt_envs -shell bash -ska`'

The ACIS Ops Ska stack often has versions of acis_thermal_check that are more up-to-date than in flight Ska. To use the ACIS Ops Ska stack as acisdude, issue the command acisska in the terminal. If you want to run as yourself and you do not have this alias, you can set it up in your startup file:

# for csh/tcsh

alias acisska 'source /data/acis/mambaforge/etc/profile.d/conda.csh; \
    setenv SKA /proj/sot/ska; conda activate ska'

# for bash

alias acisska='eval "$(/data/acis/mambaforge/bin/conda shell.bash hook)"; \
    export SKA=/proj/sot/ska; conda activate ska'

# for zsh

alias acisska='eval "$(/data/acis/mambaforge/bin/conda shell.zsh hook)"; \
    export SKA=/proj/sot/ska; conda activate ska’

In either case, all commands (e.g. dpa_check, dea_check, etc.) should be in your path after running one of the two aliases.

Base Command-Line Arguments

The following is a brief description of the base collection of command-line arguments accepted by a model using acis_thermal_check. Additional arguments may be added by individual models in the call to, as further detailed in Developing a New Thermal Model for Use with acis_thermal_check.

--outdir OUTDIR       Output directory. If it does not exist it will be created. Default: 'out'
--backstop_file BACKSTOP_FILE
                      Path to the backstop file. If a directory, the backstop file will be searched for within this directory. Default: None
--oflsdir OFLSDIR     Path to the directory containing the backstop file (legacy argument). If specified, it will override the value of the
                      backstop_file argument. Default: None
--model-spec MODEL_SPEC
                      Model specification file. Defaults to the one included with the model package.
--days DAYS           Days of validation data. Default: 21
--run-start RUN_START
                      Reference time to replace run start time for regression testing. The default is to use the current time. Default: None
--interrupt           Set this flag if this is an interrupt load.
--traceback           Enable tracebacks. Default: True
--pred-only           Only make predictions. Default: False
--verbose VERBOSE     Verbosity (0=quiet, 1=normal, 2=debug)
--T-init T_INIT       Starting temperature (degC). Default is to compute it from telemetry.
--state-builder STATE_BUILDER
                      StateBuilder to use (kadi|acis). Default: acis
--nlet_file NLET_FILE
                      Full path to the Non-Load Event Tracking file that should be used for this model run.
--version             Print version

Running Thermal Models: Examples

The most common application for any model based on acis_thermal_check is to run the model for a load. In this case, the minimum command-line arguments are the path to the backstop file and the output directory for the files:

[~]$ dpa_check --backstop_file=/data/acis/LoadReviews/2017/OCT1617/ofls --outdir=dpa_oct1617

In this case, we only supplied the directory containing the backstop file, assuming that there is only one present. If the load being reviewed is a return to science from a shutdown, or a replan due to a TOO, or any other interrupt, the thermal model should be run with the --interrupt flag to ensure commanded states are properly determined:

[~]$ psmc_check --backstop_file=/data/acis/LoadReviews/2017/AUG3017/ofls --interrupt --outdir=psmc_aug3017

By default, the initial temperature for the model will be set using an average of telemetry in a few minutes around the run start time. However, the model can be started with a specific temperature value using the --T-init argument, which is assumed to be in degrees C:

[~]$ acisfp_check --backstop_file=/data/acis/LoadReviews/2017/OCT1617/ofls --outdir=acisfp_oct1617 --T-init=22.0

If necessary, thermal model runs can be run for a particular load for predictions only, using the --pred-only flag:

[~]$ dea_check --backstop_file=/data/acis/LoadReviews/2017/AUG3017/ofls --outdir=dea_aug3017 --pred-only

Finally, if one wishes to run validation without prediction for a specific load, simply omit the backstop_file argument. It may make sense here to supply a run_start argument, if one wants a different time than the current time to validate:

[~]$ dpa_check --run-start=2019:300:12:50:00 --outdir=validate_dec2019